From 4344f297d5200ac8b8408eda25e720586e801edf Mon Sep 17 00:00:00 2001 From: peusterm Date: Fri, 8 Mar 2019 14:10:01 +0100 Subject: [PATCH] Finalized YANG model (first full version). #73 Signed-off-by: peusterm --- models/doc/ietf-ped-catalog.html | 48 +++++---- models/doc/ietf-ped-catalog.tree | 4 +- models/doc/ietf-ped-catalog.uml | 35 ++++--- models/ietf-ped-catalog.yang | 101 ++++++++++++++---- models/ietf_ped_model.py | 174 +++++++++++++++++-------------- 5 files changed, 221 insertions(+), 141 deletions(-) diff --git a/models/doc/ietf-ped-catalog.html b/models/doc/ietf-ped-catalog.html index 921ad1d..a849385 100644 --- a/models/doc/ietf-ped-catalog.html +++ b/models/doc/ietf-ped-catalog.html @@ -193,7 +193,11 @@

Module: ietf-ped-catalog, Namespace: onclick="toggleRows(this);return false" class="folder">  - ped-catalog + ped-catalog container @@ -229,7 +233,7 @@

Module: ietf-ped-catalog, Namespace: leaf string + {length = 1..255} {pattern = ^[a-z0-9\-_.]+$}">string config current @@ -257,7 +261,7 @@

Module: ietf-ped-catalog, Namespace: leaf string + {length = 1..255} {pattern = ^[a-z0-9\-_.]+$}">string config current @@ -271,7 +275,7 @@

Module: ietf-ped-catalog, Namespace: leaf string + {length = 1..255} {pattern = ^[a-z0-9\-_.]+$}">string config current @@ -285,7 +289,7 @@

Module: ietf-ped-catalog, Namespace: leaf string + {length = 1..255} {pattern = ^[abv0-9\-_.]+$}">string config current @@ -344,7 +348,7 @@

Module: ietf-ped-catalog, Namespace: leaf string + {length = 1..255} {pattern = ^[a-z0-9\-_.]+$}">string config current @@ -357,8 +361,9 @@

Module: ietf-ped-catalog, Namespace: leaf - string + inet:uri config ? current @@ -372,7 +377,7 @@

Module: ietf-ped-catalog, Namespace: leaf string + {length = 1..255} {pattern = ^[a-z0-9\-_.]+$}">string config current @@ -386,7 +391,7 @@

Module: ietf-ped-catalog, Namespace: leaf string + {length = 1..255} {pattern = ^[a-z0-9\-_.]+$}">string config current @@ -400,7 +405,7 @@

Module: ietf-ped-catalog, Namespace: leaf string + {length = 1..32} {pattern = ^[abv0-9\-_.]+$}">string config current @@ -445,7 +450,7 @@

Module: ietf-ped-catalog, Namespace: leaf string + {length = 1..255} {pattern = ^[a-z0-9\-_.]+$}">string config current @@ -505,7 +510,7 @@

Module: ietf-ped-catalog, Namespace: leaf string + {length = 1..255} {pattern = ^[a-z0-9\-_.]+$}">string config current @@ -528,12 +533,12 @@

Module: ietf-ped-catalog, Namespace:
  - connection-point-ref + connection-point-ref
leaf string + {length = 1..255} {pattern = ^[a-z0-9\-_.:]+$}">string config ? current @@ -546,8 +551,9 @@

Module: ietf-ped-catalog, Namespace: leaf - string + inet:ipv4-prefix config ? current @@ -578,7 +584,7 @@

Module: ietf-ped-catalog, Namespace: leaf string + {length = 1..255} {pattern = ^[a-z0-9\-_.]+$}">string config current @@ -643,7 +649,7 @@

Module: ietf-ped-catalog, Namespace: leaf string + {length = 1..255} {pattern = ^[a-z0-9\-_.]+$}">string config current @@ -657,7 +663,7 @@

Module: ietf-ped-catalog, Namespace: leaf string + {length = 1..255} {pattern = ^[a-z0-9\-_.]+$}">string config current @@ -671,7 +677,7 @@

Module: ietf-ped-catalog, Namespace: leaf string + {length = 1..32} {pattern = ^[abv0-9\-_.]+$}">string config current diff --git a/models/doc/ietf-ped-catalog.tree b/models/doc/ietf-ped-catalog.tree index 64720e2..6b4cee8 100644 --- a/models/doc/ietf-ped-catalog.tree +++ b/models/doc/ietf-ped-catalog.tree @@ -10,7 +10,7 @@ module: ietf-ped-catalog +--rw author? string +--rw targets* [id] | +--rw id string - | +--rw uri? string + | +--rw uri? inet:uri | +--rw vendor-ref string | +--rw name-ref string | +--rw version-ref string @@ -23,7 +23,7 @@ module: ietf-ped-catalog | +--rw id string | +--rw container-image string | +--rw connection-point-ref? string - | +--rw address? string + | +--rw address? inet:ipv4-prefix +--rw parameters* [id] +--rw id string +--rw (node-ref) diff --git a/models/doc/ietf-ped-catalog.uml b/models/doc/ietf-ped-catalog.uml index a592e35..434893f 100644 --- a/models/doc/ietf-ped-catalog.uml +++ b/models/doc/ietf-ped-catalog.uml @@ -12,15 +12,18 @@ hide <> stereotype hide <> circle page 1x1 Title ietf-ped-catalog -note top of pe_ietf_ped_catalog : Namespace: urn:ietf:params:xml:ns:yang:ietf-ped-catalog \nPrefix: pe \nOrganization : \nPaderborn University \nContact : \nManuel Peuster \nRevision : 2019-02-21 \n +package "inet:ietf-inet-types" as inet_ietf_inet_types { +} +note top of pe_ietf_ped_catalog : Namespace: urn:ietf:params:xml:ns:yang:ietf-ped-catalog \nPrefix: pe \nOrganization : \nPaderborn University \nContact : \nManuel Peuster \nRevision : 2019-03-08 \n package "pe:ietf-ped-catalog" as pe_ietf_ped_catalog { +inet_ietf_inet_types +-- pe_ietf_ped_catalog class "ietf-ped-catalog" as ietf_ped_catalog << (M, #33CCFF) module>> class "time-in-seconds" as time_in_seconds << (T, YellowGreen) typedef>> time_in_seconds : uint64 class "vendor-name-version-id-ref" as ietf_ped_catalog_I_vendor_name_version_id_ref_grouping <<(G,Lime) grouping>> -ietf_ped_catalog_I_vendor_name_version_id_ref_grouping : vendor-ref : string {mandatory} -ietf_ped_catalog_I_vendor_name_version_id_ref_grouping : name-ref : string {mandatory} -ietf_ped_catalog_I_vendor_name_version_id_ref_grouping : version-ref : string {mandatory} +ietf_ped_catalog_I_vendor_name_version_id_ref_grouping : vendor-ref : string {length = 1..255} {pattern = ^[a-z0-9\-_.]+$} {mandatory} +ietf_ped_catalog_I_vendor_name_version_id_ref_grouping : name-ref : string {length = 1..255} {pattern = ^[a-z0-9\-_.]+$} {mandatory} +ietf_ped_catalog_I_vendor_name_version_id_ref_grouping : version-ref : string {length = 1..32} {pattern = ^[abv0-9\-_.]+$} {mandatory} class "generic-description" as ietf_ped_catalog_I_generic_description_grouping <<(G,Lime) grouping>> ietf_ped_catalog_I_generic_description_grouping : description : string class "expandable-parameter-float" as ietf_ped_catalog_I_expandable_parameter_float_grouping <<(G,Lime) grouping>> @@ -49,15 +52,15 @@ class "vector" as ietf_ped_catalog_I_expandable_parameter_string_I_parameter_I_v ietf_ped_catalog_I_expandable_parameter_string_I_parameter .. ietf_ped_catalog_I_expandable_parameter_string_I_parameter_I_vector_case : choice parameter ietf_ped_catalog_I_expandable_parameter_string_I_parameter_I_vector_case : vector []: string class "sut-ref" as ietf_ped_catalog_I_sut_ref_grouping <<(G,Lime) grouping>> -ietf_ped_catalog_I_sut_ref_grouping : id : string -ietf_ped_catalog_I_sut_ref_grouping : uri : string +ietf_ped_catalog_I_sut_ref_grouping : id : string {length = 1..255} {pattern = ^[a-z0-9\-_.]+$} {mandatory} +ietf_ped_catalog_I_sut_ref_grouping : uri : inet:uri ietf_ped_catalog_I_sut_ref_grouping : vendor-name-version-id-ref {uses} ietf_ped_catalog_I_sut_ref_grouping : generic-description {uses} class "probe" as ietf_ped_catalog_I_probe_grouping <<(G,Lime) grouping>> -ietf_ped_catalog_I_probe_grouping : id : string +ietf_ped_catalog_I_probe_grouping : id : string {length = 1..255} {pattern = ^[a-z0-9\-_.]+$} {mandatory} ietf_ped_catalog_I_probe_grouping : container-image : string {mandatory} -ietf_ped_catalog_I_probe_grouping : connection-point-ref : string -ietf_ped_catalog_I_probe_grouping : address : string +ietf_ped_catalog_I_probe_grouping : connection-point-ref : string {length = 1..255} {pattern = ^[a-z0-9\-_.:]+$} +ietf_ped_catalog_I_probe_grouping : address : inet:ipv4-prefix class "node-command-parameter" as ietf_ped_catalog_I_node_command_parameter_grouping <<(G,Lime) grouping>> class "cmd-start" as ietf_ped_catalog_I_node_command_parameter_I_cmd_start <> ietf_ped_catalog_I_node_command_parameter_grouping *-- "1" ietf_ped_catalog_I_node_command_parameter_I_cmd_start @@ -82,7 +85,7 @@ class "io-bw" as ietf_ped_catalog_I_node_resource_parameter_I_io_bw <> -ietf_ped_catalog_I_experiment_grouping : id : string +ietf_ped_catalog_I_experiment_grouping : id : string {length = 1..255} {pattern = ^[a-z0-9\-_.]+$} {mandatory} ietf_ped_catalog_I_experiment_grouping : repetitions : uint64 ietf_ped_catalog_I_experiment_grouping : time-limit : time-in-seconds class "probes" as ietf_ped_catalog_I_experiment_I_probes << (L, #FF7700) list>> @@ -90,7 +93,7 @@ ietf_ped_catalog_I_experiment_grouping *-- "0..N" ietf_ped_catalog_I_experiment_ ietf_ped_catalog_I_experiment_I_probes : probe {uses} class "parameters" as ietf_ped_catalog_I_experiment_I_parameters << (L, #FF7700) list>> ietf_ped_catalog_I_experiment_grouping *-- "0..N" ietf_ped_catalog_I_experiment_I_parameters -ietf_ped_catalog_I_experiment_I_parameters : +id : string {key} +ietf_ped_catalog_I_experiment_I_parameters : +id : string {length = 1..255} {pattern = ^[a-z0-9\-_.]+$} {key} class "node-ref" as ietf_ped_catalog_I_experiment_I_parameters_I_node_ref <> ietf_ped_catalog_I_experiment_I_parameters .. ietf_ped_catalog_I_experiment_I_parameters_I_node_ref : choice class "vnf" as ietf_ped_catalog_I_experiment_I_parameters_I_node_ref_I_vnf_case <> @@ -104,11 +107,11 @@ ietf_ped_catalog_I_experiment_I_parameters_I_node_ref_I_probe_case : probe-ref : ietf_ped_catalog_I_experiment_I_parameters : node-command-parameter {uses} ietf_ped_catalog_I_experiment_I_parameters : node-resource-parameter {uses} class "ped" as ietf_ped_catalog_I_ped_grouping <<(G,Lime) grouping>> -ietf_ped_catalog_I_ped_grouping : +id : string {key} +ietf_ped_catalog_I_ped_grouping : +id : string {length = 1..255} {pattern = ^[a-z0-9\-_.]+$} {key} ietf_ped_catalog_I_ped_grouping : descriptor-version : decimal64 = 1.0 -ietf_ped_catalog_I_ped_grouping : vendor : string {mandatory} -ietf_ped_catalog_I_ped_grouping : name : string {mandatory} -ietf_ped_catalog_I_ped_grouping : version : string {mandatory} +ietf_ped_catalog_I_ped_grouping : vendor : string {length = 1..255} {pattern = ^[a-z0-9\-_.]+$} {mandatory} +ietf_ped_catalog_I_ped_grouping : name : string {length = 1..255} {pattern = ^[a-z0-9\-_.]+$} {mandatory} +ietf_ped_catalog_I_ped_grouping : version : string {length = 1..255} {pattern = ^[abv0-9\-_.]+$} {mandatory} ietf_ped_catalog_I_ped_grouping : generic-description {uses} ietf_ped_catalog_I_ped_grouping : author : string class "targets" as ietf_ped_catalog_I_ped_I_targets << (L, #FF7700) list>> @@ -142,6 +145,6 @@ ietf_ped_catalog_I_ped_I_targets --> ietf_ped_catalog_I_sut_ref_grouping : uses ietf_ped_catalog_I_ped_I_experiments --> ietf_ped_catalog_I_experiment_grouping : uses ietf_ped_catalog_I_ped_catalog_I_peds --> ietf_ped_catalog_I_ped_grouping : uses center footer - UML Generated : 2019-03-07 16:30 + UML Generated : 2019-03-08 14:07 endfooter @enduml diff --git a/models/ietf-ped-catalog.yang b/models/ietf-ped-catalog.yang index d5d7b5d..299df22 100644 --- a/models/ietf-ped-catalog.yang +++ b/models/ietf-ped-catalog.yang @@ -30,11 +30,18 @@ module ietf-ped-catalog { namespace "urn:ietf:params:xml:ns:yang:ietf-ped-catalog"; prefix "pe"; + // Additional types (see RFC6021) + //import "ietf-yang-types" { + // prefix "ietf"; + //} + import "ietf-inet-types" { + prefix "inet"; + } organization "Paderborn University"; contact "Manuel Peuster "; description "Performance Experiment Descriptor (PED) model"; - revision 2019-02-21 { + revision 2019-03-08 { description "Initial revision. This YANG file defines the Performance Experiment Descriptor (PED)"; @@ -54,17 +61,26 @@ module ietf-ped-catalog grouping vendor-name-version-id-ref { description "Reference (vendor.name.version triple) to another artefact/object."; leaf vendor-ref { - type string; + type string{ + length "1..255"; + pattern "^[a-z0-9\\-_.]+$"; + } mandatory true; description "Vendor part of the reference"; } leaf name-ref { - type string; + type string{ + length "1..255"; + pattern "^[a-z0-9\\-_.]+$"; + } mandatory true; description "Name part of the reference"; } leaf version-ref { - type string; + type string { + length "1..32"; + pattern "^[abv0-9\\-_.]+$"; + } mandatory true; description "Version part of the reference"; } @@ -161,23 +177,37 @@ module ietf-ped-catalog // PED-specific structures. // --- grouping sut-ref { - description "Reference to a SUT"; + description "Reference to a system under test (SUT). + Reference is given by a vendor.name.version triple. + Additionally a URI can be specified, e.g., to point + to a VNF or network service package that contains + the SUT."; leaf id { - type string; - description "SUT identifier"; + type string{ + length "1..255"; + pattern "^[a-z0-9\\-_.]+$"; + } + mandatory true; + description "SUT identifier"; } leaf uri { - type string; - description "Path/URL pointing to the SUT's location"; + type inet:uri; + description "Path/URL pointing to the SUT's location"; } uses vendor-name-version-id-ref; uses generic-description; } grouping probe { - description "Description of a probe"; + description "Additional stimulation/measruement component + to test the SUT. References a container image which is used + to deploy and run the probe."; leaf id { - type string; + type string{ + length "1..255"; + pattern "^[a-z0-9\\-_.]+$"; + } + mandatory true; description "Probe identifier"; } leaf container-image { @@ -186,11 +216,14 @@ module ietf-ped-catalog description "Name of the container image to be used for this probe"; } leaf connection-point-ref { - type string; - description "Name of SUT connectin point to which this probe should be connected"; + type string{ + length "1..255"; + pattern "^[a-z0-9\\-_.:]+$"; + } + description "Name of SUT connectin point to which this probe should be connected (same as specified in the SUT's VNF/NS descriptor)"; } leaf address { - type string; + type inet:ipv4-prefix; description "Static address the probe should get on its data iterface (CIDR)"; } } @@ -234,7 +267,11 @@ module ietf-ped-catalog grouping experiment { description "Definition of a single performance experiment"; leaf id { - type string; + type string{ + length "1..255"; + pattern "^[a-z0-9\\-_.]+$"; + } + mandatory true; description "Experiment identifier"; } leaf repetitions { @@ -254,7 +291,10 @@ module ietf-ped-catalog key "id"; description "Parameters (e.g. configurations) tested during an experiment"; leaf id { - type string; + type string{ + length "1..255"; + pattern "^[a-z0-9\\-_.]+$"; + } description "Identifier"; } choice node-ref { @@ -285,7 +325,10 @@ module ietf-ped-catalog description "Performance Experiment Descriptor (PED)"; leaf id { - type string; + type string{ + length "1..255"; + pattern "^[a-z0-9\\-_.]+$"; + } description "PED identifier"; } leaf descriptor-version { @@ -296,17 +339,26 @@ module ietf-ped-catalog description "Version of the data model"; } leaf vendor { - type string; + type string{ + length "1..255"; + pattern "^[a-z0-9\\-_.]+$"; + } mandatory true; description "PED vendor"; } leaf name { - type string; + type string{ + length "1..255"; + pattern "^[a-z0-9\\-_.]+$"; + } mandatory true; description "PED name"; } leaf version { - type string; + type string{ + length "1..255"; + pattern "^[abv0-9\\-_.]+$"; + } mandatory true; description "PED version"; } @@ -329,9 +381,16 @@ module ietf-ped-catalog } } + // --- + // Main entrypoint of the model. + // --- container ped-catalog { description - "Performance Experiment Descriptor (PED)"; + "Performance Experiment Descriptor (PED) catalog. + A collection of PEDs that can be empty. + (This construct is needed to be aligned with RFC6020. + Putting the PED description directly into the model wouldn't + work, since a PED cannot be empty)."; list peds { key "id"; description "List of PEDs"; diff --git a/models/ietf_ped_model.py b/models/ietf_ped_model.py index e7d8521..557bed3 100644 --- a/models/ietf_ped_model.py +++ b/models/ietf_ped_model.py @@ -40,11 +40,11 @@ def __init__(self, *args, **kwargs): self._path_helper = False self._extmethods = 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, is_keyval=True, namespace='urn:ietf:params:xml:ns:yang:ietf-ped-catalog', defining_module='ietf-ped-catalog', yang_type='string', is_config=True) - self.__uri = YANGDynClass(base=six.text_type, is_leaf=True, yang_name="uri", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='urn:ietf:params:xml:ns:yang:ietf-ped-catalog', defining_module='ietf-ped-catalog', yang_type='string', is_config=True) - self.__vendor_ref = YANGDynClass(base=six.text_type, is_leaf=True, yang_name="vendor-ref", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='urn:ietf:params:xml:ns:yang:ietf-ped-catalog', defining_module='ietf-ped-catalog', yang_type='string', is_config=True) - self.__name_ref = YANGDynClass(base=six.text_type, is_leaf=True, yang_name="name-ref", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='urn:ietf:params:xml:ns:yang:ietf-ped-catalog', defining_module='ietf-ped-catalog', yang_type='string', is_config=True) - self.__version_ref = YANGDynClass(base=six.text_type, is_leaf=True, yang_name="version-ref", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='urn:ietf:params:xml:ns:yang:ietf-ped-catalog', defining_module='ietf-ped-catalog', yang_type='string', is_config=True) + self.__id = YANGDynClass(base=RestrictedClassType(base_type=six.text_type, restriction_dict={'pattern': '^[a-z0-9\\-_.]+$', 'length': ['1..255']}), is_leaf=True, yang_name="id", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, is_keyval=True, namespace='urn:ietf:params:xml:ns:yang:ietf-ped-catalog', defining_module='ietf-ped-catalog', yang_type='string', is_config=True) + self.__uri = YANGDynClass(base=six.text_type, is_leaf=True, yang_name="uri", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='urn:ietf:params:xml:ns:yang:ietf-ped-catalog', defining_module='ietf-ped-catalog', yang_type='inet:uri', is_config=True) + self.__vendor_ref = YANGDynClass(base=RestrictedClassType(base_type=six.text_type, restriction_dict={'pattern': '^[a-z0-9\\-_.]+$', 'length': ['1..255']}), is_leaf=True, yang_name="vendor-ref", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='urn:ietf:params:xml:ns:yang:ietf-ped-catalog', defining_module='ietf-ped-catalog', yang_type='string', is_config=True) + self.__name_ref = YANGDynClass(base=RestrictedClassType(base_type=six.text_type, restriction_dict={'pattern': '^[a-z0-9\\-_.]+$', 'length': ['1..255']}), is_leaf=True, yang_name="name-ref", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='urn:ietf:params:xml:ns:yang:ietf-ped-catalog', defining_module='ietf-ped-catalog', yang_type='string', is_config=True) + self.__version_ref = YANGDynClass(base=RestrictedClassType(base_type=six.text_type, restriction_dict={'pattern': '^[abv0-9\\-_.]+$', 'length': ['1..32']}), is_leaf=True, yang_name="version-ref", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='urn:ietf:params:xml:ns:yang:ietf-ped-catalog', defining_module='ietf-ped-catalog', yang_type='string', 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='urn:ietf:params:xml:ns:yang:ietf-ped-catalog', defining_module='ietf-ped-catalog', yang_type='string', is_config=True) load = kwargs.pop("load", None) @@ -100,12 +100,12 @@ def _set_id(self, v, load=False): 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, is_keyval=True, namespace='urn:ietf:params:xml:ns:yang:ietf-ped-catalog', defining_module='ietf-ped-catalog', yang_type='string', is_config=True) + t = YANGDynClass(v,base=RestrictedClassType(base_type=six.text_type, restriction_dict={'pattern': '^[a-z0-9\\-_.]+$', 'length': ['1..255']}), is_leaf=True, yang_name="id", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, is_keyval=True, namespace='urn:ietf:params:xml:ns:yang:ietf-ped-catalog', defining_module='ietf-ped-catalog', yang_type='string', is_config=True) 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, is_keyval=True, namespace='urn:ietf:params:xml:ns:yang:ietf-ped-catalog', defining_module='ietf-ped-catalog', yang_type='string', is_config=True)""", + 'generated-type': """YANGDynClass(base=RestrictedClassType(base_type=six.text_type, restriction_dict={'pattern': '^[a-z0-9\\-_.]+$', 'length': ['1..255']}), is_leaf=True, yang_name="id", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, is_keyval=True, namespace='urn:ietf:params:xml:ns:yang:ietf-ped-catalog', defining_module='ietf-ped-catalog', yang_type='string', is_config=True)""", }) self.__id = t @@ -113,12 +113,12 @@ def _set_id(self, v, load=False): 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, is_keyval=True, namespace='urn:ietf:params:xml:ns:yang:ietf-ped-catalog', defining_module='ietf-ped-catalog', yang_type='string', is_config=True) + self.__id = YANGDynClass(base=RestrictedClassType(base_type=six.text_type, restriction_dict={'pattern': '^[a-z0-9\\-_.]+$', 'length': ['1..255']}), is_leaf=True, yang_name="id", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, is_keyval=True, namespace='urn:ietf:params:xml:ns:yang:ietf-ped-catalog', defining_module='ietf-ped-catalog', yang_type='string', is_config=True) def _get_uri(self): """ - Getter method for uri, mapped from YANG variable /ped_catalog/peds/targets/uri (string) + Getter method for uri, mapped from YANG variable /ped_catalog/peds/targets/uri (inet:uri) YANG Description: Path/URL pointing to the SUT's location """ @@ -126,7 +126,7 @@ def _get_uri(self): def _set_uri(self, v, load=False): """ - Setter method for uri, mapped from YANG variable /ped_catalog/peds/targets/uri (string) + Setter method for uri, mapped from YANG variable /ped_catalog/peds/targets/uri (inet:uri) If this variable is read-only (config: false) in the source YANG file, then _set_uri is considered as a private method. Backends looking to populate this variable should @@ -137,12 +137,12 @@ def _set_uri(self, v, load=False): if hasattr(v, "_utype"): v = v._utype(v) try: - t = YANGDynClass(v,base=six.text_type, is_leaf=True, yang_name="uri", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='urn:ietf:params:xml:ns:yang:ietf-ped-catalog', defining_module='ietf-ped-catalog', yang_type='string', is_config=True) + t = YANGDynClass(v,base=six.text_type, is_leaf=True, yang_name="uri", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='urn:ietf:params:xml:ns:yang:ietf-ped-catalog', defining_module='ietf-ped-catalog', yang_type='inet:uri', is_config=True) except (TypeError, ValueError): raise ValueError({ - 'error-string': """uri must be of a type compatible with string""", - 'defined-type': "string", - 'generated-type': """YANGDynClass(base=six.text_type, is_leaf=True, yang_name="uri", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='urn:ietf:params:xml:ns:yang:ietf-ped-catalog', defining_module='ietf-ped-catalog', yang_type='string', is_config=True)""", + 'error-string': """uri must be of a type compatible with inet:uri""", + 'defined-type': "inet:uri", + 'generated-type': """YANGDynClass(base=six.text_type, is_leaf=True, yang_name="uri", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='urn:ietf:params:xml:ns:yang:ietf-ped-catalog', defining_module='ietf-ped-catalog', yang_type='inet:uri', is_config=True)""", }) self.__uri = t @@ -150,7 +150,7 @@ def _set_uri(self, v, load=False): self._set() def _unset_uri(self): - self.__uri = YANGDynClass(base=six.text_type, is_leaf=True, yang_name="uri", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='urn:ietf:params:xml:ns:yang:ietf-ped-catalog', defining_module='ietf-ped-catalog', yang_type='string', is_config=True) + self.__uri = YANGDynClass(base=six.text_type, is_leaf=True, yang_name="uri", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='urn:ietf:params:xml:ns:yang:ietf-ped-catalog', defining_module='ietf-ped-catalog', yang_type='inet:uri', is_config=True) def _get_vendor_ref(self): @@ -174,12 +174,12 @@ def _set_vendor_ref(self, v, load=False): if hasattr(v, "_utype"): v = v._utype(v) try: - t = YANGDynClass(v,base=six.text_type, is_leaf=True, yang_name="vendor-ref", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='urn:ietf:params:xml:ns:yang:ietf-ped-catalog', defining_module='ietf-ped-catalog', yang_type='string', is_config=True) + t = YANGDynClass(v,base=RestrictedClassType(base_type=six.text_type, restriction_dict={'pattern': '^[a-z0-9\\-_.]+$', 'length': ['1..255']}), is_leaf=True, yang_name="vendor-ref", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='urn:ietf:params:xml:ns:yang:ietf-ped-catalog', defining_module='ietf-ped-catalog', yang_type='string', is_config=True) except (TypeError, ValueError): raise ValueError({ 'error-string': """vendor_ref must be of a type compatible with string""", 'defined-type': "string", - 'generated-type': """YANGDynClass(base=six.text_type, is_leaf=True, yang_name="vendor-ref", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='urn:ietf:params:xml:ns:yang:ietf-ped-catalog', defining_module='ietf-ped-catalog', yang_type='string', is_config=True)""", + 'generated-type': """YANGDynClass(base=RestrictedClassType(base_type=six.text_type, restriction_dict={'pattern': '^[a-z0-9\\-_.]+$', 'length': ['1..255']}), is_leaf=True, yang_name="vendor-ref", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='urn:ietf:params:xml:ns:yang:ietf-ped-catalog', defining_module='ietf-ped-catalog', yang_type='string', is_config=True)""", }) self.__vendor_ref = t @@ -187,7 +187,7 @@ def _set_vendor_ref(self, v, load=False): self._set() def _unset_vendor_ref(self): - self.__vendor_ref = YANGDynClass(base=six.text_type, is_leaf=True, yang_name="vendor-ref", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='urn:ietf:params:xml:ns:yang:ietf-ped-catalog', defining_module='ietf-ped-catalog', yang_type='string', is_config=True) + self.__vendor_ref = YANGDynClass(base=RestrictedClassType(base_type=six.text_type, restriction_dict={'pattern': '^[a-z0-9\\-_.]+$', 'length': ['1..255']}), is_leaf=True, yang_name="vendor-ref", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='urn:ietf:params:xml:ns:yang:ietf-ped-catalog', defining_module='ietf-ped-catalog', yang_type='string', is_config=True) def _get_name_ref(self): @@ -211,12 +211,12 @@ def _set_name_ref(self, v, load=False): if hasattr(v, "_utype"): v = v._utype(v) try: - t = YANGDynClass(v,base=six.text_type, is_leaf=True, yang_name="name-ref", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='urn:ietf:params:xml:ns:yang:ietf-ped-catalog', defining_module='ietf-ped-catalog', yang_type='string', is_config=True) + t = YANGDynClass(v,base=RestrictedClassType(base_type=six.text_type, restriction_dict={'pattern': '^[a-z0-9\\-_.]+$', 'length': ['1..255']}), is_leaf=True, yang_name="name-ref", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='urn:ietf:params:xml:ns:yang:ietf-ped-catalog', defining_module='ietf-ped-catalog', yang_type='string', is_config=True) except (TypeError, ValueError): raise ValueError({ 'error-string': """name_ref must be of a type compatible with string""", 'defined-type': "string", - 'generated-type': """YANGDynClass(base=six.text_type, is_leaf=True, yang_name="name-ref", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='urn:ietf:params:xml:ns:yang:ietf-ped-catalog', defining_module='ietf-ped-catalog', yang_type='string', is_config=True)""", + 'generated-type': """YANGDynClass(base=RestrictedClassType(base_type=six.text_type, restriction_dict={'pattern': '^[a-z0-9\\-_.]+$', 'length': ['1..255']}), is_leaf=True, yang_name="name-ref", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='urn:ietf:params:xml:ns:yang:ietf-ped-catalog', defining_module='ietf-ped-catalog', yang_type='string', is_config=True)""", }) self.__name_ref = t @@ -224,7 +224,7 @@ def _set_name_ref(self, v, load=False): self._set() def _unset_name_ref(self): - self.__name_ref = YANGDynClass(base=six.text_type, is_leaf=True, yang_name="name-ref", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='urn:ietf:params:xml:ns:yang:ietf-ped-catalog', defining_module='ietf-ped-catalog', yang_type='string', is_config=True) + self.__name_ref = YANGDynClass(base=RestrictedClassType(base_type=six.text_type, restriction_dict={'pattern': '^[a-z0-9\\-_.]+$', 'length': ['1..255']}), is_leaf=True, yang_name="name-ref", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='urn:ietf:params:xml:ns:yang:ietf-ped-catalog', defining_module='ietf-ped-catalog', yang_type='string', is_config=True) def _get_version_ref(self): @@ -248,12 +248,12 @@ def _set_version_ref(self, v, load=False): if hasattr(v, "_utype"): v = v._utype(v) try: - t = YANGDynClass(v,base=six.text_type, is_leaf=True, yang_name="version-ref", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='urn:ietf:params:xml:ns:yang:ietf-ped-catalog', defining_module='ietf-ped-catalog', yang_type='string', is_config=True) + t = YANGDynClass(v,base=RestrictedClassType(base_type=six.text_type, restriction_dict={'pattern': '^[abv0-9\\-_.]+$', 'length': ['1..32']}), is_leaf=True, yang_name="version-ref", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='urn:ietf:params:xml:ns:yang:ietf-ped-catalog', defining_module='ietf-ped-catalog', yang_type='string', is_config=True) except (TypeError, ValueError): raise ValueError({ 'error-string': """version_ref must be of a type compatible with string""", 'defined-type': "string", - 'generated-type': """YANGDynClass(base=six.text_type, is_leaf=True, yang_name="version-ref", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='urn:ietf:params:xml:ns:yang:ietf-ped-catalog', defining_module='ietf-ped-catalog', yang_type='string', is_config=True)""", + 'generated-type': """YANGDynClass(base=RestrictedClassType(base_type=six.text_type, restriction_dict={'pattern': '^[abv0-9\\-_.]+$', 'length': ['1..32']}), is_leaf=True, yang_name="version-ref", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='urn:ietf:params:xml:ns:yang:ietf-ped-catalog', defining_module='ietf-ped-catalog', yang_type='string', is_config=True)""", }) self.__version_ref = t @@ -261,7 +261,7 @@ def _set_version_ref(self, v, load=False): self._set() def _unset_version_ref(self): - self.__version_ref = YANGDynClass(base=six.text_type, is_leaf=True, yang_name="version-ref", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='urn:ietf:params:xml:ns:yang:ietf-ped-catalog', defining_module='ietf-ped-catalog', yang_type='string', is_config=True) + self.__version_ref = YANGDynClass(base=RestrictedClassType(base_type=six.text_type, restriction_dict={'pattern': '^[abv0-9\\-_.]+$', 'length': ['1..32']}), is_leaf=True, yang_name="version-ref", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='urn:ietf:params:xml:ns:yang:ietf-ped-catalog', defining_module='ietf-ped-catalog', yang_type='string', is_config=True) def _get_description(self): @@ -331,10 +331,10 @@ def __init__(self, *args, **kwargs): self._path_helper = False self._extmethods = 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, is_keyval=True, namespace='urn:ietf:params:xml:ns:yang:ietf-ped-catalog', defining_module='ietf-ped-catalog', yang_type='string', is_config=True) + self.__id = YANGDynClass(base=RestrictedClassType(base_type=six.text_type, restriction_dict={'pattern': '^[a-z0-9\\-_.]+$', 'length': ['1..255']}), is_leaf=True, yang_name="id", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, is_keyval=True, namespace='urn:ietf:params:xml:ns:yang:ietf-ped-catalog', defining_module='ietf-ped-catalog', yang_type='string', is_config=True) self.__container_image = YANGDynClass(base=six.text_type, is_leaf=True, yang_name="container-image", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='urn:ietf:params:xml:ns:yang:ietf-ped-catalog', defining_module='ietf-ped-catalog', yang_type='string', is_config=True) - self.__connection_point_ref = YANGDynClass(base=six.text_type, is_leaf=True, yang_name="connection-point-ref", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='urn:ietf:params:xml:ns:yang:ietf-ped-catalog', defining_module='ietf-ped-catalog', yang_type='string', is_config=True) - self.__address = YANGDynClass(base=six.text_type, is_leaf=True, yang_name="address", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='urn:ietf:params:xml:ns:yang:ietf-ped-catalog', defining_module='ietf-ped-catalog', yang_type='string', is_config=True) + self.__connection_point_ref = YANGDynClass(base=RestrictedClassType(base_type=six.text_type, restriction_dict={'pattern': '^[a-z0-9\\-_.:]+$', 'length': ['1..255']}), is_leaf=True, yang_name="connection-point-ref", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='urn:ietf:params:xml:ns:yang:ietf-ped-catalog', defining_module='ietf-ped-catalog', yang_type='string', is_config=True) + self.__address = YANGDynClass(base=RestrictedClassType(base_type=six.text_type, restriction_dict={'pattern': '(([0-9]|[1-9][0-9]|1[0-9][0-9]|2[0-4][0-9]|25[0-5])\\.){3}([0-9]|[1-9][0-9]|1[0-9][0-9]|2[0-4][0-9]|25[0-5])/(([0-9])|([1-2][0-9])|(3[0-2]))'}), is_leaf=True, yang_name="address", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='urn:ietf:params:xml:ns:yang:ietf-ped-catalog', defining_module='ietf-ped-catalog', yang_type='inet:ipv4-prefix', is_config=True) load = kwargs.pop("load", None) if args: @@ -389,12 +389,12 @@ def _set_id(self, v, load=False): 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, is_keyval=True, namespace='urn:ietf:params:xml:ns:yang:ietf-ped-catalog', defining_module='ietf-ped-catalog', yang_type='string', is_config=True) + t = YANGDynClass(v,base=RestrictedClassType(base_type=six.text_type, restriction_dict={'pattern': '^[a-z0-9\\-_.]+$', 'length': ['1..255']}), is_leaf=True, yang_name="id", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, is_keyval=True, namespace='urn:ietf:params:xml:ns:yang:ietf-ped-catalog', defining_module='ietf-ped-catalog', yang_type='string', is_config=True) 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, is_keyval=True, namespace='urn:ietf:params:xml:ns:yang:ietf-ped-catalog', defining_module='ietf-ped-catalog', yang_type='string', is_config=True)""", + 'generated-type': """YANGDynClass(base=RestrictedClassType(base_type=six.text_type, restriction_dict={'pattern': '^[a-z0-9\\-_.]+$', 'length': ['1..255']}), is_leaf=True, yang_name="id", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, is_keyval=True, namespace='urn:ietf:params:xml:ns:yang:ietf-ped-catalog', defining_module='ietf-ped-catalog', yang_type='string', is_config=True)""", }) self.__id = t @@ -402,7 +402,7 @@ def _set_id(self, v, load=False): 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, is_keyval=True, namespace='urn:ietf:params:xml:ns:yang:ietf-ped-catalog', defining_module='ietf-ped-catalog', yang_type='string', is_config=True) + self.__id = YANGDynClass(base=RestrictedClassType(base_type=six.text_type, restriction_dict={'pattern': '^[a-z0-9\\-_.]+$', 'length': ['1..255']}), is_leaf=True, yang_name="id", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, is_keyval=True, namespace='urn:ietf:params:xml:ns:yang:ietf-ped-catalog', defining_module='ietf-ped-catalog', yang_type='string', is_config=True) def _get_container_image(self): @@ -446,7 +446,7 @@ def _get_connection_point_ref(self): """ Getter method for connection_point_ref, mapped from YANG variable /ped_catalog/peds/experiments/probes/connection_point_ref (string) - YANG Description: Name of SUT connectin point to which this probe should be connected + YANG Description: Name of SUT connectin point to which this probe should be connected (same as specified in the SUT's VNF/NS descriptor) """ return self.__connection_point_ref @@ -458,17 +458,17 @@ def _set_connection_point_ref(self, v, load=False): method. Backends looking to populate this variable should do so via calling thisObj._set_connection_point_ref() directly. - YANG Description: Name of SUT connectin point to which this probe should be connected + YANG Description: Name of SUT connectin point to which this probe should be connected (same as specified in the SUT's VNF/NS descriptor) """ if hasattr(v, "_utype"): v = v._utype(v) try: - t = YANGDynClass(v,base=six.text_type, is_leaf=True, yang_name="connection-point-ref", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='urn:ietf:params:xml:ns:yang:ietf-ped-catalog', defining_module='ietf-ped-catalog', yang_type='string', is_config=True) + t = YANGDynClass(v,base=RestrictedClassType(base_type=six.text_type, restriction_dict={'pattern': '^[a-z0-9\\-_.:]+$', 'length': ['1..255']}), is_leaf=True, yang_name="connection-point-ref", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='urn:ietf:params:xml:ns:yang:ietf-ped-catalog', defining_module='ietf-ped-catalog', yang_type='string', is_config=True) except (TypeError, ValueError): raise ValueError({ 'error-string': """connection_point_ref must be of a type compatible with string""", 'defined-type': "string", - 'generated-type': """YANGDynClass(base=six.text_type, is_leaf=True, yang_name="connection-point-ref", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='urn:ietf:params:xml:ns:yang:ietf-ped-catalog', defining_module='ietf-ped-catalog', yang_type='string', is_config=True)""", + 'generated-type': """YANGDynClass(base=RestrictedClassType(base_type=six.text_type, restriction_dict={'pattern': '^[a-z0-9\\-_.:]+$', 'length': ['1..255']}), is_leaf=True, yang_name="connection-point-ref", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='urn:ietf:params:xml:ns:yang:ietf-ped-catalog', defining_module='ietf-ped-catalog', yang_type='string', is_config=True)""", }) self.__connection_point_ref = t @@ -476,12 +476,12 @@ def _set_connection_point_ref(self, v, load=False): self._set() def _unset_connection_point_ref(self): - self.__connection_point_ref = YANGDynClass(base=six.text_type, is_leaf=True, yang_name="connection-point-ref", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='urn:ietf:params:xml:ns:yang:ietf-ped-catalog', defining_module='ietf-ped-catalog', yang_type='string', is_config=True) + self.__connection_point_ref = YANGDynClass(base=RestrictedClassType(base_type=six.text_type, restriction_dict={'pattern': '^[a-z0-9\\-_.:]+$', 'length': ['1..255']}), is_leaf=True, yang_name="connection-point-ref", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='urn:ietf:params:xml:ns:yang:ietf-ped-catalog', defining_module='ietf-ped-catalog', yang_type='string', is_config=True) def _get_address(self): """ - Getter method for address, mapped from YANG variable /ped_catalog/peds/experiments/probes/address (string) + Getter method for address, mapped from YANG variable /ped_catalog/peds/experiments/probes/address (inet:ipv4-prefix) YANG Description: Static address the probe should get on its data iterface (CIDR) """ @@ -489,7 +489,7 @@ def _get_address(self): def _set_address(self, v, load=False): """ - Setter method for address, mapped from YANG variable /ped_catalog/peds/experiments/probes/address (string) + Setter method for address, mapped from YANG variable /ped_catalog/peds/experiments/probes/address (inet:ipv4-prefix) If this variable is read-only (config: false) in the source YANG file, then _set_address is considered as a private method. Backends looking to populate this variable should @@ -500,12 +500,12 @@ def _set_address(self, v, load=False): if hasattr(v, "_utype"): v = v._utype(v) try: - t = YANGDynClass(v,base=six.text_type, is_leaf=True, yang_name="address", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='urn:ietf:params:xml:ns:yang:ietf-ped-catalog', defining_module='ietf-ped-catalog', yang_type='string', is_config=True) + t = YANGDynClass(v,base=RestrictedClassType(base_type=six.text_type, restriction_dict={'pattern': '(([0-9]|[1-9][0-9]|1[0-9][0-9]|2[0-4][0-9]|25[0-5])\\.){3}([0-9]|[1-9][0-9]|1[0-9][0-9]|2[0-4][0-9]|25[0-5])/(([0-9])|([1-2][0-9])|(3[0-2]))'}), is_leaf=True, yang_name="address", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='urn:ietf:params:xml:ns:yang:ietf-ped-catalog', defining_module='ietf-ped-catalog', yang_type='inet:ipv4-prefix', is_config=True) except (TypeError, ValueError): raise ValueError({ - 'error-string': """address must be of a type compatible with string""", - 'defined-type': "string", - 'generated-type': """YANGDynClass(base=six.text_type, is_leaf=True, yang_name="address", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='urn:ietf:params:xml:ns:yang:ietf-ped-catalog', defining_module='ietf-ped-catalog', yang_type='string', is_config=True)""", + 'error-string': """address must be of a type compatible with inet:ipv4-prefix""", + 'defined-type': "inet:ipv4-prefix", + 'generated-type': """YANGDynClass(base=RestrictedClassType(base_type=six.text_type, restriction_dict={'pattern': '(([0-9]|[1-9][0-9]|1[0-9][0-9]|2[0-4][0-9]|25[0-5])\\.){3}([0-9]|[1-9][0-9]|1[0-9][0-9]|2[0-4][0-9]|25[0-5])/(([0-9])|([1-2][0-9])|(3[0-2]))'}), is_leaf=True, yang_name="address", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='urn:ietf:params:xml:ns:yang:ietf-ped-catalog', defining_module='ietf-ped-catalog', yang_type='inet:ipv4-prefix', is_config=True)""", }) self.__address = t @@ -513,7 +513,7 @@ def _set_address(self, v, load=False): self._set() def _unset_address(self): - self.__address = YANGDynClass(base=six.text_type, is_leaf=True, yang_name="address", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='urn:ietf:params:xml:ns:yang:ietf-ped-catalog', defining_module='ietf-ped-catalog', yang_type='string', is_config=True) + self.__address = YANGDynClass(base=RestrictedClassType(base_type=six.text_type, restriction_dict={'pattern': '(([0-9]|[1-9][0-9]|1[0-9][0-9]|2[0-4][0-9]|25[0-5])\\.){3}([0-9]|[1-9][0-9]|1[0-9][0-9]|2[0-4][0-9]|25[0-5])/(([0-9])|([1-2][0-9])|(3[0-2]))'}), is_leaf=True, yang_name="address", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='urn:ietf:params:xml:ns:yang:ietf-ped-catalog', defining_module='ietf-ped-catalog', yang_type='inet:ipv4-prefix', is_config=True) id = __builtin__.property(_get_id, _set_id) container_image = __builtin__.property(_get_container_image, _set_container_image) @@ -544,9 +544,9 @@ def __init__(self, *args, **kwargs): self._path_helper = False self._extmethods = False - self.__vendor_ref = YANGDynClass(base=six.text_type, is_leaf=True, yang_name="vendor-ref", parent=self, choice=('node-ref', 'vnf'), path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='urn:ietf:params:xml:ns:yang:ietf-ped-catalog', defining_module='ietf-ped-catalog', yang_type='string', is_config=True) - self.__name_ref = YANGDynClass(base=six.text_type, is_leaf=True, yang_name="name-ref", parent=self, choice=('node-ref', 'vnf'), path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='urn:ietf:params:xml:ns:yang:ietf-ped-catalog', defining_module='ietf-ped-catalog', yang_type='string', is_config=True) - self.__version_ref = YANGDynClass(base=six.text_type, is_leaf=True, yang_name="version-ref", parent=self, choice=('node-ref', 'vnf'), path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='urn:ietf:params:xml:ns:yang:ietf-ped-catalog', defining_module='ietf-ped-catalog', yang_type='string', is_config=True) + self.__vendor_ref = YANGDynClass(base=RestrictedClassType(base_type=six.text_type, restriction_dict={'pattern': '^[a-z0-9\\-_.]+$', 'length': ['1..255']}), is_leaf=True, yang_name="vendor-ref", parent=self, choice=('node-ref', 'vnf'), path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='urn:ietf:params:xml:ns:yang:ietf-ped-catalog', defining_module='ietf-ped-catalog', yang_type='string', is_config=True) + self.__name_ref = YANGDynClass(base=RestrictedClassType(base_type=six.text_type, restriction_dict={'pattern': '^[a-z0-9\\-_.]+$', 'length': ['1..255']}), is_leaf=True, yang_name="name-ref", parent=self, choice=('node-ref', 'vnf'), path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='urn:ietf:params:xml:ns:yang:ietf-ped-catalog', defining_module='ietf-ped-catalog', yang_type='string', is_config=True) + self.__version_ref = YANGDynClass(base=RestrictedClassType(base_type=six.text_type, restriction_dict={'pattern': '^[abv0-9\\-_.]+$', 'length': ['1..32']}), is_leaf=True, yang_name="version-ref", parent=self, choice=('node-ref', 'vnf'), path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='urn:ietf:params:xml:ns:yang:ietf-ped-catalog', defining_module='ietf-ped-catalog', yang_type='string', is_config=True) load = kwargs.pop("load", None) if args: @@ -596,12 +596,12 @@ def _set_vendor_ref(self, v, load=False): if hasattr(v, "_utype"): v = v._utype(v) try: - t = YANGDynClass(v,base=six.text_type, is_leaf=True, yang_name="vendor-ref", parent=self, choice=('node-ref', 'vnf'), path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='urn:ietf:params:xml:ns:yang:ietf-ped-catalog', defining_module='ietf-ped-catalog', yang_type='string', is_config=True) + t = YANGDynClass(v,base=RestrictedClassType(base_type=six.text_type, restriction_dict={'pattern': '^[a-z0-9\\-_.]+$', 'length': ['1..255']}), is_leaf=True, yang_name="vendor-ref", parent=self, choice=('node-ref', 'vnf'), path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='urn:ietf:params:xml:ns:yang:ietf-ped-catalog', defining_module='ietf-ped-catalog', yang_type='string', is_config=True) except (TypeError, ValueError): raise ValueError({ 'error-string': """vendor_ref must be of a type compatible with string""", 'defined-type': "string", - 'generated-type': """YANGDynClass(base=six.text_type, is_leaf=True, yang_name="vendor-ref", parent=self, choice=('node-ref', 'vnf'), path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='urn:ietf:params:xml:ns:yang:ietf-ped-catalog', defining_module='ietf-ped-catalog', yang_type='string', is_config=True)""", + 'generated-type': """YANGDynClass(base=RestrictedClassType(base_type=six.text_type, restriction_dict={'pattern': '^[a-z0-9\\-_.]+$', 'length': ['1..255']}), is_leaf=True, yang_name="vendor-ref", parent=self, choice=('node-ref', 'vnf'), path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='urn:ietf:params:xml:ns:yang:ietf-ped-catalog', defining_module='ietf-ped-catalog', yang_type='string', is_config=True)""", }) self.__vendor_ref = t @@ -609,7 +609,7 @@ def _set_vendor_ref(self, v, load=False): self._set() def _unset_vendor_ref(self): - self.__vendor_ref = YANGDynClass(base=six.text_type, is_leaf=True, yang_name="vendor-ref", parent=self, choice=('node-ref', 'vnf'), path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='urn:ietf:params:xml:ns:yang:ietf-ped-catalog', defining_module='ietf-ped-catalog', yang_type='string', is_config=True) + self.__vendor_ref = YANGDynClass(base=RestrictedClassType(base_type=six.text_type, restriction_dict={'pattern': '^[a-z0-9\\-_.]+$', 'length': ['1..255']}), is_leaf=True, yang_name="vendor-ref", parent=self, choice=('node-ref', 'vnf'), path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='urn:ietf:params:xml:ns:yang:ietf-ped-catalog', defining_module='ietf-ped-catalog', yang_type='string', is_config=True) def _get_name_ref(self): @@ -633,12 +633,12 @@ def _set_name_ref(self, v, load=False): if hasattr(v, "_utype"): v = v._utype(v) try: - t = YANGDynClass(v,base=six.text_type, is_leaf=True, yang_name="name-ref", parent=self, choice=('node-ref', 'vnf'), path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='urn:ietf:params:xml:ns:yang:ietf-ped-catalog', defining_module='ietf-ped-catalog', yang_type='string', is_config=True) + t = YANGDynClass(v,base=RestrictedClassType(base_type=six.text_type, restriction_dict={'pattern': '^[a-z0-9\\-_.]+$', 'length': ['1..255']}), is_leaf=True, yang_name="name-ref", parent=self, choice=('node-ref', 'vnf'), path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='urn:ietf:params:xml:ns:yang:ietf-ped-catalog', defining_module='ietf-ped-catalog', yang_type='string', is_config=True) except (TypeError, ValueError): raise ValueError({ 'error-string': """name_ref must be of a type compatible with string""", 'defined-type': "string", - 'generated-type': """YANGDynClass(base=six.text_type, is_leaf=True, yang_name="name-ref", parent=self, choice=('node-ref', 'vnf'), path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='urn:ietf:params:xml:ns:yang:ietf-ped-catalog', defining_module='ietf-ped-catalog', yang_type='string', is_config=True)""", + 'generated-type': """YANGDynClass(base=RestrictedClassType(base_type=six.text_type, restriction_dict={'pattern': '^[a-z0-9\\-_.]+$', 'length': ['1..255']}), is_leaf=True, yang_name="name-ref", parent=self, choice=('node-ref', 'vnf'), path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='urn:ietf:params:xml:ns:yang:ietf-ped-catalog', defining_module='ietf-ped-catalog', yang_type='string', is_config=True)""", }) self.__name_ref = t @@ -646,7 +646,7 @@ def _set_name_ref(self, v, load=False): self._set() def _unset_name_ref(self): - self.__name_ref = YANGDynClass(base=six.text_type, is_leaf=True, yang_name="name-ref", parent=self, choice=('node-ref', 'vnf'), path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='urn:ietf:params:xml:ns:yang:ietf-ped-catalog', defining_module='ietf-ped-catalog', yang_type='string', is_config=True) + self.__name_ref = YANGDynClass(base=RestrictedClassType(base_type=six.text_type, restriction_dict={'pattern': '^[a-z0-9\\-_.]+$', 'length': ['1..255']}), is_leaf=True, yang_name="name-ref", parent=self, choice=('node-ref', 'vnf'), path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='urn:ietf:params:xml:ns:yang:ietf-ped-catalog', defining_module='ietf-ped-catalog', yang_type='string', is_config=True) def _get_version_ref(self): @@ -670,12 +670,12 @@ def _set_version_ref(self, v, load=False): if hasattr(v, "_utype"): v = v._utype(v) try: - t = YANGDynClass(v,base=six.text_type, is_leaf=True, yang_name="version-ref", parent=self, choice=('node-ref', 'vnf'), path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='urn:ietf:params:xml:ns:yang:ietf-ped-catalog', defining_module='ietf-ped-catalog', yang_type='string', is_config=True) + t = YANGDynClass(v,base=RestrictedClassType(base_type=six.text_type, restriction_dict={'pattern': '^[abv0-9\\-_.]+$', 'length': ['1..32']}), is_leaf=True, yang_name="version-ref", parent=self, choice=('node-ref', 'vnf'), path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='urn:ietf:params:xml:ns:yang:ietf-ped-catalog', defining_module='ietf-ped-catalog', yang_type='string', is_config=True) except (TypeError, ValueError): raise ValueError({ 'error-string': """version_ref must be of a type compatible with string""", 'defined-type': "string", - 'generated-type': """YANGDynClass(base=six.text_type, is_leaf=True, yang_name="version-ref", parent=self, choice=('node-ref', 'vnf'), path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='urn:ietf:params:xml:ns:yang:ietf-ped-catalog', defining_module='ietf-ped-catalog', yang_type='string', is_config=True)""", + 'generated-type': """YANGDynClass(base=RestrictedClassType(base_type=six.text_type, restriction_dict={'pattern': '^[abv0-9\\-_.]+$', 'length': ['1..32']}), is_leaf=True, yang_name="version-ref", parent=self, choice=('node-ref', 'vnf'), path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='urn:ietf:params:xml:ns:yang:ietf-ped-catalog', defining_module='ietf-ped-catalog', yang_type='string', is_config=True)""", }) self.__version_ref = t @@ -683,7 +683,7 @@ def _set_version_ref(self, v, load=False): self._set() def _unset_version_ref(self): - self.__version_ref = YANGDynClass(base=six.text_type, is_leaf=True, yang_name="version-ref", parent=self, choice=('node-ref', 'vnf'), path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='urn:ietf:params:xml:ns:yang:ietf-ped-catalog', defining_module='ietf-ped-catalog', yang_type='string', is_config=True) + self.__version_ref = YANGDynClass(base=RestrictedClassType(base_type=six.text_type, restriction_dict={'pattern': '^[abv0-9\\-_.]+$', 'length': ['1..32']}), is_leaf=True, yang_name="version-ref", parent=self, choice=('node-ref', 'vnf'), path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='urn:ietf:params:xml:ns:yang:ietf-ped-catalog', defining_module='ietf-ped-catalog', yang_type='string', is_config=True) vendor_ref = __builtin__.property(_get_vendor_ref, _set_vendor_ref) name_ref = __builtin__.property(_get_name_ref, _set_name_ref) @@ -2455,7 +2455,7 @@ def __init__(self, *args, **kwargs): self._path_helper = False self._extmethods = 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, is_keyval=True, namespace='urn:ietf:params:xml:ns:yang:ietf-ped-catalog', defining_module='ietf-ped-catalog', yang_type='string', is_config=True) + self.__id = YANGDynClass(base=RestrictedClassType(base_type=six.text_type, restriction_dict={'pattern': '^[a-z0-9\\-_.]+$', 'length': ['1..255']}), is_leaf=True, yang_name="id", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, is_keyval=True, namespace='urn:ietf:params:xml:ns:yang:ietf-ped-catalog', defining_module='ietf-ped-catalog', yang_type='string', is_config=True) self.__vnf_ref = YANGDynClass(base=yc_vnf_ref_ietf_ped_catalog__ped_catalog_peds_experiments_parameters_vnf_ref, is_container='container', yang_name="vnf-ref", parent=self, choice=('node-ref', 'vnf'), path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, extensions=None, namespace='urn:ietf:params:xml:ns:yang:ietf-ped-catalog', defining_module='ietf-ped-catalog', yang_type='container', is_config=True) self.__probe_ref = YANGDynClass(base=six.text_type, is_leaf=True, yang_name="probe-ref", parent=self, choice=('node-ref', 'probe'), path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='urn:ietf:params:xml:ns:yang:ietf-ped-catalog', defining_module='ietf-ped-catalog', yang_type='leafref', is_config=True) self.__cmd_start = YANGDynClass(base=yc_cmd_start_ietf_ped_catalog__ped_catalog_peds_experiments_parameters_cmd_start, is_container='container', yang_name="cmd-start", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, extensions=None, namespace='urn:ietf:params:xml:ns:yang:ietf-ped-catalog', defining_module='ietf-ped-catalog', yang_type='container', is_config=True) @@ -2519,12 +2519,12 @@ def _set_id(self, v, load=False): 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, is_keyval=True, namespace='urn:ietf:params:xml:ns:yang:ietf-ped-catalog', defining_module='ietf-ped-catalog', yang_type='string', is_config=True) + t = YANGDynClass(v,base=RestrictedClassType(base_type=six.text_type, restriction_dict={'pattern': '^[a-z0-9\\-_.]+$', 'length': ['1..255']}), is_leaf=True, yang_name="id", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, is_keyval=True, namespace='urn:ietf:params:xml:ns:yang:ietf-ped-catalog', defining_module='ietf-ped-catalog', yang_type='string', is_config=True) 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, is_keyval=True, namespace='urn:ietf:params:xml:ns:yang:ietf-ped-catalog', defining_module='ietf-ped-catalog', yang_type='string', is_config=True)""", + 'generated-type': """YANGDynClass(base=RestrictedClassType(base_type=six.text_type, restriction_dict={'pattern': '^[a-z0-9\\-_.]+$', 'length': ['1..255']}), is_leaf=True, yang_name="id", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, is_keyval=True, namespace='urn:ietf:params:xml:ns:yang:ietf-ped-catalog', defining_module='ietf-ped-catalog', yang_type='string', is_config=True)""", }) self.__id = t @@ -2532,7 +2532,7 @@ def _set_id(self, v, load=False): 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, is_keyval=True, namespace='urn:ietf:params:xml:ns:yang:ietf-ped-catalog', defining_module='ietf-ped-catalog', yang_type='string', is_config=True) + self.__id = YANGDynClass(base=RestrictedClassType(base_type=six.text_type, restriction_dict={'pattern': '^[a-z0-9\\-_.]+$', 'length': ['1..255']}), is_leaf=True, yang_name="id", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, is_keyval=True, namespace='urn:ietf:params:xml:ns:yang:ietf-ped-catalog', defining_module='ietf-ped-catalog', yang_type='string', is_config=True) def _get_vnf_ref(self): @@ -2902,7 +2902,7 @@ def __init__(self, *args, **kwargs): self._path_helper = False self._extmethods = 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, is_keyval=True, namespace='urn:ietf:params:xml:ns:yang:ietf-ped-catalog', defining_module='ietf-ped-catalog', yang_type='string', is_config=True) + self.__id = YANGDynClass(base=RestrictedClassType(base_type=six.text_type, restriction_dict={'pattern': '^[a-z0-9\\-_.]+$', 'length': ['1..255']}), is_leaf=True, yang_name="id", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, is_keyval=True, namespace='urn:ietf:params:xml:ns:yang:ietf-ped-catalog', defining_module='ietf-ped-catalog', yang_type='string', is_config=True) self.__repetitions = YANGDynClass(base=RestrictedClassType(base_type=long, restriction_dict={'range': ['0..18446744073709551615']}, int_size=64), is_leaf=True, yang_name="repetitions", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='urn:ietf:params:xml:ns:yang:ietf-ped-catalog', defining_module='ietf-ped-catalog', yang_type='uint64', is_config=True) self.__time_limit = YANGDynClass(base=RestrictedClassType(base_type=long, restriction_dict={'range': ['0..18446744073709551615']}, int_size=64), default=RestrictedClassType(base_type=long, restriction_dict={'range': ['0..18446744073709551615']}, int_size=64)(0), is_leaf=True, yang_name="time-limit", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='urn:ietf:params:xml:ns:yang:ietf-ped-catalog', defining_module='ietf-ped-catalog', yang_type='time-in-seconds', is_config=True) self.__probes = YANGDynClass(base=YANGListType("id",yc_probes_ietf_ped_catalog__ped_catalog_peds_experiments_probes, yang_name="probes", parent=self, is_container='list', user_ordered=False, path_helper=self._path_helper, yang_keys='id', extensions=None), is_container='list', yang_name="probes", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, extensions=None, namespace='urn:ietf:params:xml:ns:yang:ietf-ped-catalog', defining_module='ietf-ped-catalog', yang_type='list', is_config=True) @@ -2961,12 +2961,12 @@ def _set_id(self, v, load=False): 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, is_keyval=True, namespace='urn:ietf:params:xml:ns:yang:ietf-ped-catalog', defining_module='ietf-ped-catalog', yang_type='string', is_config=True) + t = YANGDynClass(v,base=RestrictedClassType(base_type=six.text_type, restriction_dict={'pattern': '^[a-z0-9\\-_.]+$', 'length': ['1..255']}), is_leaf=True, yang_name="id", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, is_keyval=True, namespace='urn:ietf:params:xml:ns:yang:ietf-ped-catalog', defining_module='ietf-ped-catalog', yang_type='string', is_config=True) 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, is_keyval=True, namespace='urn:ietf:params:xml:ns:yang:ietf-ped-catalog', defining_module='ietf-ped-catalog', yang_type='string', is_config=True)""", + 'generated-type': """YANGDynClass(base=RestrictedClassType(base_type=six.text_type, restriction_dict={'pattern': '^[a-z0-9\\-_.]+$', 'length': ['1..255']}), is_leaf=True, yang_name="id", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, is_keyval=True, namespace='urn:ietf:params:xml:ns:yang:ietf-ped-catalog', defining_module='ietf-ped-catalog', yang_type='string', is_config=True)""", }) self.__id = t @@ -2974,7 +2974,7 @@ def _set_id(self, v, load=False): 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, is_keyval=True, namespace='urn:ietf:params:xml:ns:yang:ietf-ped-catalog', defining_module='ietf-ped-catalog', yang_type='string', is_config=True) + self.__id = YANGDynClass(base=RestrictedClassType(base_type=six.text_type, restriction_dict={'pattern': '^[a-z0-9\\-_.]+$', 'length': ['1..255']}), is_leaf=True, yang_name="id", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, is_keyval=True, namespace='urn:ietf:params:xml:ns:yang:ietf-ped-catalog', defining_module='ietf-ped-catalog', yang_type='string', is_config=True) def _get_repetitions(self): @@ -3154,11 +3154,11 @@ def __init__(self, *args, **kwargs): self._path_helper = False self._extmethods = 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, is_keyval=True, namespace='urn:ietf:params:xml:ns:yang:ietf-ped-catalog', defining_module='ietf-ped-catalog', yang_type='string', is_config=True) + self.__id = YANGDynClass(base=RestrictedClassType(base_type=six.text_type, restriction_dict={'pattern': '^[a-z0-9\\-_.]+$', 'length': ['1..255']}), is_leaf=True, yang_name="id", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, is_keyval=True, namespace='urn:ietf:params:xml:ns:yang:ietf-ped-catalog', defining_module='ietf-ped-catalog', yang_type='string', is_config=True) self.__descriptor_version = YANGDynClass(base=RestrictedPrecisionDecimalType(precision=1), default=Decimal(1.0), is_leaf=True, yang_name="descriptor-version", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='urn:ietf:params:xml:ns:yang:ietf-ped-catalog', defining_module='ietf-ped-catalog', yang_type='decimal64', is_config=True) - self.__vendor = YANGDynClass(base=six.text_type, is_leaf=True, yang_name="vendor", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='urn:ietf:params:xml:ns:yang:ietf-ped-catalog', defining_module='ietf-ped-catalog', yang_type='string', is_config=True) - 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='urn:ietf:params:xml:ns:yang:ietf-ped-catalog', defining_module='ietf-ped-catalog', yang_type='string', is_config=True) - self.__version = YANGDynClass(base=six.text_type, is_leaf=True, yang_name="version", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='urn:ietf:params:xml:ns:yang:ietf-ped-catalog', defining_module='ietf-ped-catalog', yang_type='string', is_config=True) + self.__vendor = YANGDynClass(base=RestrictedClassType(base_type=six.text_type, restriction_dict={'pattern': '^[a-z0-9\\-_.]+$', 'length': ['1..255']}), is_leaf=True, yang_name="vendor", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='urn:ietf:params:xml:ns:yang:ietf-ped-catalog', defining_module='ietf-ped-catalog', yang_type='string', is_config=True) + self.__name = YANGDynClass(base=RestrictedClassType(base_type=six.text_type, restriction_dict={'pattern': '^[a-z0-9\\-_.]+$', 'length': ['1..255']}), is_leaf=True, yang_name="name", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='urn:ietf:params:xml:ns:yang:ietf-ped-catalog', defining_module='ietf-ped-catalog', yang_type='string', is_config=True) + self.__version = YANGDynClass(base=RestrictedClassType(base_type=six.text_type, restriction_dict={'pattern': '^[abv0-9\\-_.]+$', 'length': ['1..255']}), is_leaf=True, yang_name="version", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='urn:ietf:params:xml:ns:yang:ietf-ped-catalog', defining_module='ietf-ped-catalog', yang_type='string', 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='urn:ietf:params:xml:ns:yang:ietf-ped-catalog', defining_module='ietf-ped-catalog', yang_type='string', is_config=True) self.__author = YANGDynClass(base=six.text_type, is_leaf=True, yang_name="author", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='urn:ietf:params:xml:ns:yang:ietf-ped-catalog', defining_module='ietf-ped-catalog', yang_type='string', is_config=True) self.__targets = YANGDynClass(base=YANGListType("id",yc_targets_ietf_ped_catalog__ped_catalog_peds_targets, yang_name="targets", parent=self, is_container='list', user_ordered=False, path_helper=self._path_helper, yang_keys='id', extensions=None), is_container='list', yang_name="targets", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, extensions=None, namespace='urn:ietf:params:xml:ns:yang:ietf-ped-catalog', defining_module='ietf-ped-catalog', yang_type='list', is_config=True) @@ -3217,12 +3217,12 @@ def _set_id(self, v, load=False): 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, is_keyval=True, namespace='urn:ietf:params:xml:ns:yang:ietf-ped-catalog', defining_module='ietf-ped-catalog', yang_type='string', is_config=True) + t = YANGDynClass(v,base=RestrictedClassType(base_type=six.text_type, restriction_dict={'pattern': '^[a-z0-9\\-_.]+$', 'length': ['1..255']}), is_leaf=True, yang_name="id", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, is_keyval=True, namespace='urn:ietf:params:xml:ns:yang:ietf-ped-catalog', defining_module='ietf-ped-catalog', yang_type='string', is_config=True) 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, is_keyval=True, namespace='urn:ietf:params:xml:ns:yang:ietf-ped-catalog', defining_module='ietf-ped-catalog', yang_type='string', is_config=True)""", + 'generated-type': """YANGDynClass(base=RestrictedClassType(base_type=six.text_type, restriction_dict={'pattern': '^[a-z0-9\\-_.]+$', 'length': ['1..255']}), is_leaf=True, yang_name="id", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, is_keyval=True, namespace='urn:ietf:params:xml:ns:yang:ietf-ped-catalog', defining_module='ietf-ped-catalog', yang_type='string', is_config=True)""", }) self.__id = t @@ -3230,7 +3230,7 @@ def _set_id(self, v, load=False): 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, is_keyval=True, namespace='urn:ietf:params:xml:ns:yang:ietf-ped-catalog', defining_module='ietf-ped-catalog', yang_type='string', is_config=True) + self.__id = YANGDynClass(base=RestrictedClassType(base_type=six.text_type, restriction_dict={'pattern': '^[a-z0-9\\-_.]+$', 'length': ['1..255']}), is_leaf=True, yang_name="id", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, is_keyval=True, namespace='urn:ietf:params:xml:ns:yang:ietf-ped-catalog', defining_module='ietf-ped-catalog', yang_type='string', is_config=True) def _get_descriptor_version(self): @@ -3291,12 +3291,12 @@ def _set_vendor(self, v, load=False): if hasattr(v, "_utype"): v = v._utype(v) try: - t = YANGDynClass(v,base=six.text_type, is_leaf=True, yang_name="vendor", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='urn:ietf:params:xml:ns:yang:ietf-ped-catalog', defining_module='ietf-ped-catalog', yang_type='string', is_config=True) + t = YANGDynClass(v,base=RestrictedClassType(base_type=six.text_type, restriction_dict={'pattern': '^[a-z0-9\\-_.]+$', 'length': ['1..255']}), is_leaf=True, yang_name="vendor", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='urn:ietf:params:xml:ns:yang:ietf-ped-catalog', defining_module='ietf-ped-catalog', yang_type='string', is_config=True) except (TypeError, ValueError): raise ValueError({ 'error-string': """vendor must be of a type compatible with string""", 'defined-type': "string", - 'generated-type': """YANGDynClass(base=six.text_type, is_leaf=True, yang_name="vendor", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='urn:ietf:params:xml:ns:yang:ietf-ped-catalog', defining_module='ietf-ped-catalog', yang_type='string', is_config=True)""", + 'generated-type': """YANGDynClass(base=RestrictedClassType(base_type=six.text_type, restriction_dict={'pattern': '^[a-z0-9\\-_.]+$', 'length': ['1..255']}), is_leaf=True, yang_name="vendor", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='urn:ietf:params:xml:ns:yang:ietf-ped-catalog', defining_module='ietf-ped-catalog', yang_type='string', is_config=True)""", }) self.__vendor = t @@ -3304,7 +3304,7 @@ def _set_vendor(self, v, load=False): self._set() def _unset_vendor(self): - self.__vendor = YANGDynClass(base=six.text_type, is_leaf=True, yang_name="vendor", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='urn:ietf:params:xml:ns:yang:ietf-ped-catalog', defining_module='ietf-ped-catalog', yang_type='string', is_config=True) + self.__vendor = YANGDynClass(base=RestrictedClassType(base_type=six.text_type, restriction_dict={'pattern': '^[a-z0-9\\-_.]+$', 'length': ['1..255']}), is_leaf=True, yang_name="vendor", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='urn:ietf:params:xml:ns:yang:ietf-ped-catalog', defining_module='ietf-ped-catalog', yang_type='string', is_config=True) def _get_name(self): @@ -3328,12 +3328,12 @@ def _set_name(self, v, load=False): 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='urn:ietf:params:xml:ns:yang:ietf-ped-catalog', defining_module='ietf-ped-catalog', yang_type='string', is_config=True) + t = YANGDynClass(v,base=RestrictedClassType(base_type=six.text_type, restriction_dict={'pattern': '^[a-z0-9\\-_.]+$', 'length': ['1..255']}), is_leaf=True, yang_name="name", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='urn:ietf:params:xml:ns:yang:ietf-ped-catalog', defining_module='ietf-ped-catalog', 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='urn:ietf:params:xml:ns:yang:ietf-ped-catalog', defining_module='ietf-ped-catalog', yang_type='string', is_config=True)""", + 'generated-type': """YANGDynClass(base=RestrictedClassType(base_type=six.text_type, restriction_dict={'pattern': '^[a-z0-9\\-_.]+$', 'length': ['1..255']}), is_leaf=True, yang_name="name", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='urn:ietf:params:xml:ns:yang:ietf-ped-catalog', defining_module='ietf-ped-catalog', yang_type='string', is_config=True)""", }) self.__name = t @@ -3341,7 +3341,7 @@ def _set_name(self, v, load=False): 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='urn:ietf:params:xml:ns:yang:ietf-ped-catalog', defining_module='ietf-ped-catalog', yang_type='string', is_config=True) + self.__name = YANGDynClass(base=RestrictedClassType(base_type=six.text_type, restriction_dict={'pattern': '^[a-z0-9\\-_.]+$', 'length': ['1..255']}), is_leaf=True, yang_name="name", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='urn:ietf:params:xml:ns:yang:ietf-ped-catalog', defining_module='ietf-ped-catalog', yang_type='string', is_config=True) def _get_version(self): @@ -3365,12 +3365,12 @@ def _set_version(self, v, load=False): if hasattr(v, "_utype"): v = v._utype(v) try: - t = YANGDynClass(v,base=six.text_type, is_leaf=True, yang_name="version", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='urn:ietf:params:xml:ns:yang:ietf-ped-catalog', defining_module='ietf-ped-catalog', yang_type='string', is_config=True) + t = YANGDynClass(v,base=RestrictedClassType(base_type=six.text_type, restriction_dict={'pattern': '^[abv0-9\\-_.]+$', 'length': ['1..255']}), is_leaf=True, yang_name="version", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='urn:ietf:params:xml:ns:yang:ietf-ped-catalog', defining_module='ietf-ped-catalog', yang_type='string', is_config=True) except (TypeError, ValueError): raise ValueError({ 'error-string': """version must be of a type compatible with string""", 'defined-type': "string", - 'generated-type': """YANGDynClass(base=six.text_type, is_leaf=True, yang_name="version", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='urn:ietf:params:xml:ns:yang:ietf-ped-catalog', defining_module='ietf-ped-catalog', yang_type='string', is_config=True)""", + 'generated-type': """YANGDynClass(base=RestrictedClassType(base_type=six.text_type, restriction_dict={'pattern': '^[abv0-9\\-_.]+$', 'length': ['1..255']}), is_leaf=True, yang_name="version", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='urn:ietf:params:xml:ns:yang:ietf-ped-catalog', defining_module='ietf-ped-catalog', yang_type='string', is_config=True)""", }) self.__version = t @@ -3378,7 +3378,7 @@ def _set_version(self, v, load=False): self._set() def _unset_version(self): - self.__version = YANGDynClass(base=six.text_type, is_leaf=True, yang_name="version", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='urn:ietf:params:xml:ns:yang:ietf-ped-catalog', defining_module='ietf-ped-catalog', yang_type='string', is_config=True) + self.__version = YANGDynClass(base=RestrictedClassType(base_type=six.text_type, restriction_dict={'pattern': '^[abv0-9\\-_.]+$', 'length': ['1..255']}), is_leaf=True, yang_name="version", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='urn:ietf:params:xml:ns:yang:ietf-ped-catalog', defining_module='ietf-ped-catalog', yang_type='string', is_config=True) def _get_description(self): @@ -3545,7 +3545,11 @@ class yc_ped_catalog_ietf_ped_catalog__ped_catalog(PybindBase): the container is represented as a class variable - with a specific YANG type. - YANG Description: Performance Experiment Descriptor (PED) + YANG Description: Performance Experiment Descriptor (PED) catalog. +A collection of PEDs that can be empty. +(This construct is needed to be aligned with RFC6020. +Putting the PED description directly into the model wouldn't +work, since a PED cannot be empty). """ __slots__ = ('_path_helper', '_extmethods', '__peds',) @@ -3682,7 +3686,11 @@ def _get_ped_catalog(self): """ Getter method for ped_catalog, mapped from YANG variable /ped_catalog (container) - YANG Description: Performance Experiment Descriptor (PED) + YANG Description: Performance Experiment Descriptor (PED) catalog. +A collection of PEDs that can be empty. +(This construct is needed to be aligned with RFC6020. +Putting the PED description directly into the model wouldn't +work, since a PED cannot be empty). """ return self.__ped_catalog @@ -3694,7 +3702,11 @@ def _set_ped_catalog(self, v, load=False): method. Backends looking to populate this variable should do so via calling thisObj._set_ped_catalog() directly. - YANG Description: Performance Experiment Descriptor (PED) + YANG Description: Performance Experiment Descriptor (PED) catalog. +A collection of PEDs that can be empty. +(This construct is needed to be aligned with RFC6020. +Putting the PED description directly into the model wouldn't +work, since a PED cannot be empty). """ if hasattr(v, "_utype"): v = v._utype(v)