Source code for cloudvision.cvlib.changecontrol

# Copyright (c) 2022 Arista Networks, Inc.
# Use of this source code is governed by the Apache License 2.0
# that can be found in the COPYING file.

from typing import Dict, Optional

from cloudvision.Connector.grpc_client import GRPCClient

from .utils import queryCCStartTime


[docs] class ChangeControl: ''' (Deprecated) Please use ctx.action instead for various field information Object to store common change control action script arguments: - ccId: ID of the change control, if applicable - stageId: ID of the current stage of the change control, if applicable - args: Dict of user-defined/script defined arguments that are passed in ''' def __init__(self, ccId: Optional[str] = None, stageId: Optional[str] = None, args: Optional[Dict[str, str]] = None): self.ccId = ccId self.stageId = stageId self.args = args self.__ccStartTime: Optional[int] = None
[docs] def getStartTime(self, cvClient: GRPCClient): ''' Queries the cloudvision database for the change control start time :param cvClient: context.getCvClient() client :return: nanosecond start timestamp of the change control ''' if self.ccId is None: return None if self.__ccStartTime: return self.__ccStartTime ccStartTs = queryCCStartTime(cvClient, self.ccId) self.__ccStartTime = int(ccStartTs) return self.__ccStartTime