Ejemplo n.º 1
0
    def build_config(self,
                     apply=True,
                     attributes=None,
                     unconfig=False,
                     **kwargs):
        attributes = AttributesHelper(self, attributes)
        configurations = CliConfigBuilder(unconfig=unconfig)
        interface_configurations = xr_ifmgr_cfg.InterfaceConfigurations()
        interface_configuration = interface_configurations.InterfaceConfiguration(
        )
        interface_configuration.active = "act"
        interface_configuration.interface_name = attributes.value('name')
        if unconfig and attributes.iswildcard:
            interface_configuration = DELETE()
        else:
            shutdown = attributes.value('shutdown')
            if shutdown is not None:
                if unconfig:
                    # Special case: unconfiguring always applies shutdown
                    interface_configuration.shutdown = Empty()
                elif shutdown:
                    interface_configuration.shutdown = Empty()
                else:
                    interface_configuration.shutdown = DELETE()

            ipv4 = attributes.value('ipv4')
            primary = interface_configuration.ipv4_network.addresses.Primary()
            if ipv4:
                primary.address = str(ipv4.ip)
                primary.netmask = str(ipv4.netmask)

            vrf = attributes.value('vrf')
            if vrf:
                interface_configuration.vrf = vrf.name

        # instantiate crud service
        crud_service = CRUDService()
        if apply:

            # create netconf connection
            ncp = NetconfServiceProvider(self.device)

            return crud_service.create(ncp, interface_configuration)
        else:
            return YangConfig(device=self.device,
                              unconfig=unconfig,
                              ncp=NetconfServiceProvider,
                              interface_configuration=interface_configuration,
                              crud_service=crud_service.create)
Ejemplo n.º 2
0
    def build_config(self,
                     apply=True,
                     attributes=None,
                     unconfig=False,
                     **kwargs):
        attributes = AttributesHelper(self, attributes)
        configurations = CliConfigBuilder(unconfig=unconfig)
        ydk_obj = ned.Native.Interface.Gigabitethernet()
        ydk_obj.name = self.name
        if unconfig and attributes.iswildcard:
            ydk_obj = DELETE()
        else:
            shutdown = attributes.value('shutdown')
            if shutdown is not None:
                if unconfig:
                    # Special case: unconfiguring always applies shutdown
                    ydk_obj.shutdown = Empty()
                elif shutdown:
                    ydk_obj.shutdown = Empty()
                else:
                    ydk_obj.shutdown = DELETE()

            ipv4 = attributes.value('ipv4')
            if ipv4:
                ydk_obj.ip.address.primary.address = str(ipv4.ip)
                ydk_obj.ip.address.primary.mask = str(ipv4.netmask)

            vrf = attributes.value('vrf')
            if vrf:
                ydk_obj.vrf.forwarding = vrf.name

        # instantiate crud service
        crud_service = CRUDService()
        if apply:

            # create netconf connection
            ncp = NetconfServiceProvider(self.device)

            return crud_service.create(ncp, ydk_obj)
        else:
            return YangConfig(device=self.device,
                              unconfig=unconfig,
                              ncp=NetconfServiceProvider,
                              ydk_obj=ydk_obj,
                              crud_service=crud_service.create)