1# -*- coding: utf-8 -*-

2 from operator import attrgetter

3 from pyangbind.lib.yangtypes import RestrictedPrecisionDecimalType

4 from pyangbind.lib.yangtypes import RestrictedClassType

5 from pyangbind.lib.yangtypes import TypedListType

6 from pyangbind.lib.yangtypes import YANGBool

7 from pyangbind.lib.yangtypes import YANGListType

8 from pyangbind.lib.yangtypes import YANGDynClass

9 from pyangbind.lib.yangtypes import ReferenceType

10 from pyangbind.lib.yangtypes import YANGBinary

11 from pyangbind.lib.yangtypes import YANGBitsType

12 from pyangbind.lib.base import PybindBase

13 from collections import OrderedDict

14 from decimal import Decimal

15

16 import builtins as __builtin__

17 long = int

18 class additional_info(PybindBase):

19 """

20 This class was auto-generated by the PythonClass plugin for PYANG

21 from YANG module additional-info - based on the path /additional-info. Each member element of

22 the container is represented as a class variable - with a specific

23 YANG type.

24 """

25 _pyangbind_elements = {}

26

27

28

29 class alarm(PybindBase):

30 """

31 This class was auto-generated by the PythonClass plugin for PYANG

32 from YANG module alarm - based on the path /alarm. Each member element of

33 the container is represented as a class variable - with a specific

34 YANG type.

35 """

36 _pyangbind_elements = {}

37

38

39

40 class alternative_images(PybindBase):

41 """

42 This class was auto-generated by the PythonClass plugin for PYANG

43 from YANG module alternative-images - based on the path /alternative-images. Each member element of

44 the container is represented as a class variable - with a specific

45 YANG type.

46 """

47 _pyangbind_elements = {}

48

49

50

51 class cloud_init(PybindBase):

52 """

53 This class was auto-generated by the PythonClass plugin for PYANG

54 from YANG module cloud-init - based on the path /cloud-init. Each member element of

55 the container is represented as a class variable - with a specific

56 YANG type.

57 """

58 _pyangbind_elements = {}

59

60

61

62 class common_augments(PybindBase):

63 """

64 This class was auto-generated by the PythonClass plugin for PYANG

65 from YANG module common-augments - based on the path /common-augments. Each member element of

66 the container is represented as a class variable - with a specific

67 YANG type.

68 """

69 _pyangbind_elements = {}

70

71

72

73 class day1_2(PybindBase):

74 """

75 This class was auto-generated by the PythonClass plugin for PYANG

76 from YANG module day1-2 - based on the path /day1-2. Each member element of

77 the container is represented as a class variable - with a specific

78 YANG type.

79 """

80 _pyangbind_elements = {}

81

82

83

84 class epa(PybindBase):

85 """

86 This class was auto-generated by the PythonClass plugin for PYANG

87 from YANG module epa - based on the path /epa. Each member element of

88 the container is represented as a class variable - with a specific

89 YANG type.

90 """

91 _pyangbind_elements = {}

92

93

94

95 class exporters(PybindBase):

96 """

97 This class was auto-generated by the PythonClass plugin for PYANG

98 from YANG module exporters - based on the path /exporters. Each member element of

99 the container is represented as a class variable - with a specific

100 YANG type.

101 """

102 _pyangbind_elements = {}

103

104

105

106 class healing(PybindBase):

107 """

108 This class was auto-generated by the PythonClass plugin for PYANG

109 from YANG module healing - based on the path /healing. Each member element of

110 the container is represented as a class variable - with a specific

111 YANG type.

112 """

113 _pyangbind_elements = {}

114

115

116

117 class interface(PybindBase):

118 """

119 This class was auto-generated by the PythonClass plugin for PYANG

120 from YANG module interface - based on the path /interface. Each member element of

121 the container is represented as a class variable - with a specific

122 YANG type.

123 """

124 _pyangbind_elements = {}

125

126

127

128 class ip_profiles(PybindBase):

129 """

130 This class was auto-generated by the PythonClass plugin for PYANG

131 from YANG module ip-profiles - based on the path /ip-profiles. Each member element of

132 the container is represented as a class variable - with a specific

133 YANG type.

134 """

135 _pyangbind_elements = {}

136

137

138

139 class kdu(PybindBase):

140 """

141 This class was auto-generated by the PythonClass plugin for PYANG

142 from YANG module kdu - based on the path /kdu. Each member element of

143 the container is represented as a class variable - with a specific

144 YANG type.

145 """

146 _pyangbind_elements = {}

147

148

149

150 class mgmt_interface(PybindBase):

151 """

152 This class was auto-generated by the PythonClass plugin for PYANG

153 from YANG module mgmt-interface - based on the path /mgmt-interface. Each member element of

154 the container is represented as a class variable - with a specific

155 YANG type.

156 """

157 _pyangbind_elements = {}

158

159

160

161 class ns_configuration(PybindBase):

162 """

163 This class was auto-generated by the PythonClass plugin for PYANG

164 from YANG module ns-configuration - based on the path /ns-configuration. Each member element of

165 the container is represented as a class variable - with a specific

166 YANG type.

167 """

168 _pyangbind_elements = {}

169

170

171

172 class ns_various(PybindBase):

173 """

174 This class was auto-generated by the PythonClass plugin for PYANG

175 from YANG module ns-various - based on the path /ns-various. Each member element of

176 the container is represented as a class variable - with a specific

177 YANG type.

178 """

179 _pyangbind_elements = {}

180

181

182

183 class ns_vld(PybindBase):

184 """

185 This class was auto-generated by the PythonClass plugin for PYANG

186 from YANG module ns-vld - based on the path /ns-vld. Each member element of

187 the container is represented as a class variable - with a specific

188 YANG type.

189 """

190 _pyangbind_elements = {}

191

192

193

194 class persistent_storage(PybindBase):

195 """

196 This class was auto-generated by the PythonClass plugin for PYANG

197 from YANG module persistent-storage - based on the path /persistent-storage. Each member element of

198 the container is represented as a class variable - with a specific

199 YANG type.

200 """

201 _pyangbind_elements = {}

202

203

204

205 class scaling(PybindBase):

206 """

207 This class was auto-generated by the PythonClass plugin for PYANG

208 from YANG module scaling - based on the path /scaling. Each member element of

209 the container is represented as a class variable - with a specific

210 YANG type.

211 """

212 _pyangbind_elements = {}

213

214

215

216 class various(PybindBase):

217 """

218 This class was auto-generated by the PythonClass plugin for PYANG

219 from YANG module various - based on the path /various. Each member element of

220 the container is represented as a class variable - with a specific

221 YANG type.

222 """

223 _pyangbind_elements = {}

224

225

226

227 class vip(PybindBase):

228 """

229 This class was auto-generated by the PythonClass plugin for PYANG

230 from YANG module vip - based on the path /vip. Each member element of

231 the container is represented as a class variable - with a specific

232 YANG type.

233 """

234 _pyangbind_elements = {}

235

236

237

238 class vnffgd(PybindBase):

239 """

240 This class was auto-generated by the PythonClass plugin for PYANG

241 from YANG module vnffgd - based on the path /vnffgd. Each member element of

242 the container is represented as a class variable - with a specific

243 YANG type.

244 """

245 _pyangbind_elements = {}

246

247

248

249 class yc_network_interface_requirements_etsi_nfv_vnfd__vnfd_vdu_int_cpd_virtual_network_interface_requirement_network_interface_requirements(PybindBase):

250 """

251 This class was auto-generated by the PythonClass plugin for PYANG

252 from YANG module etsi-nfv-vnfd - based on the path /vnfd/vdu/int-cpd/virtual-network-interface-requirement/network-interface-requirements. Each member element of

253 the container is represented as a class variable - with a specific

254 YANG type.

255

256 YANG Description: The network interface requirements. An element from an

257 array of key-value pairs that articulate the network

258 interface deployment requirements.

259 """

260 __slots__ = ('_path_helper', '_extmethods', '__key','__value',)

261

262 _yang_name = 'network-interface-requirements'

263 _yang_namespace = 'urn:etsi:nfv:yang:etsi-nfv-vnfd'

264

265 _pybind_generated_by = 'container'

266

267 def __init__(self, *args, **kwargs):

268

269 self._path_helper = False

270

271 self._extmethods = False

272 self.__key = YANGDynClass(base=str, is_leaf=True, yang_name="key", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, is_keyval=True, namespace='urn:etsi:nfv:yang:etsi-nfv-vnfd', defining_module='etsi-nfv-vnfd', yang_type='string', is_config=True)

273 self.__value = YANGDynClass(base=str, is_leaf=True, yang_name="value", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='urn:etsi:nfv:yang:etsi-nfv-vnfd', defining_module='etsi-nfv-vnfd', yang_type='string', is_config=True)

274

275 load = kwargs.pop("load", None)

276 if args:

277 if len(args) > 1:

278 raise TypeError("cannot create a YANG container with >1 argument")

279 all_attr = True

280 for e in self._pyangbind_elements:

281 if not hasattr(args[0], e):

282 all_attr = False

283 break

284 if not all_attr:

285 raise ValueError("Supplied object did not have the correct attributes")

286 for e in self._pyangbind_elements:

287 nobj = getattr(args[0], e)

288 if nobj._changed() is False:

289 continue

290 setmethod = getattr(self, "_set_%s" % e)

291 if load is None:

292 setmethod(getattr(args[0], e))

293 else:

294 setmethod(getattr(args[0], e), load=load)

295

296 def _path(self):

297 if hasattr(self, "_parent"):

298 return self._parent._path()+[self._yang_name]

299 else:

300 return ['vnfd', 'vdu', 'int-cpd', 'virtual-network-interface-requirement', 'network-interface-requirements']

301

302 def _get_key(self):

303 """

304 Getter method for key, mapped from YANG variable /vnfd/vdu/int_cpd/virtual_network_interface_requirement/network_interface_requirements/key (string)

305 """

306 return self.__key

307

308 def _set_key(self, v, load=False):

309 """

310 Setter method for key, mapped from YANG variable /vnfd/vdu/int_cpd/virtual_network_interface_requirement/network_interface_requirements/key (string)

311 If this variable is read-only (config: false) in the

312 source YANG file, then _set_key is considered as a private

313 method. Backends looking to populate this variable should

314 do so via calling thisObj._set_key() directly.

315 """

316 parent = getattr(self, "_parent", None)

317 if parent is not None and load is False:

318 raise AttributeError("Cannot set keys directly when" +

319 " within an instantiated list")

320

321 if hasattr(v, "_utype"):

322 v = v._utype(v)

323 try:

324 t = YANGDynClass(v,base=str, is_leaf=True, yang_name="key", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, is_keyval=True, namespace='urn:etsi:nfv:yang:etsi-nfv-vnfd', defining_module='etsi-nfv-vnfd', yang_type='string', is_config=True)

325 except (TypeError, ValueError):

326 raise ValueError({

327 'error-string': """key must be of a type compatible with string""",

328 'defined-type': "string",

329 'generated-type': """YANGDynClass(base=str, is_leaf=True, yang_name="key", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, is_keyval=True, namespace='urn:etsi:nfv:yang:etsi-nfv-vnfd', defining_module='etsi-nfv-vnfd', yang_type='string', is_config=True)""",

330 })

331

332 self.__key = t

333 if hasattr(self, '_set'):

334 self._set()

335

336 def _unset_key(self):

337 self.__key = YANGDynClass(base=str, is_leaf=True, yang_name="key", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, is_keyval=True, namespace='urn:etsi:nfv:yang:etsi-nfv-vnfd', defining_module='etsi-nfv-vnfd', yang_type='string', is_config=True)

338

339

340 def _get_value(self):

341 """

342 Getter method for value, mapped from YANG variable /vnfd/vdu/int_cpd/virtual_network_interface_requirement/network_interface_requirements/value (string)

343 """

344 return self.__value

345

346 def _set_value(self, v, load=False):

347 """

348 Setter method for value, mapped from YANG variable /vnfd/vdu/int_cpd/virtual_network_interface_requirement/network_interface_requirements/value (string)

349 If this variable is read-only (config: false) in the

350 source YANG file, then _set_value is considered as a private

351 method. Backends looking to populate this variable should

352 do so via calling thisObj._set_value() directly.

353 """

354 if hasattr(v, "_utype"):

355 v = v._utype(v)

356 try:

357 t = YANGDynClass(v,base=str, is_leaf=True, yang_name="value", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='urn:etsi:nfv:yang:etsi-nfv-vnfd', defining_module='etsi-nfv-vnfd', yang_type='string', is_config=True)

358 except (TypeError, ValueError):

359 raise ValueError({

360 'error-string': """value must be of a type compatible with string""",

361 'defined-type': "string",

362 'generated-type': """YANGDynClass(base=str, is_leaf=True, yang_name="value", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='urn:etsi:nfv:yang:etsi-nfv-vnfd', defining_module='etsi-nfv-vnfd', yang_type='string', is_config=True)""",

363 })

364

365 self.__value = t

366 if hasattr(self, '_set'):

367 self._set()

368

369 def _unset_value(self):

370 self.__value = YANGDynClass(base=str, is_leaf=True, yang_name="value", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='urn:etsi:nfv:yang:etsi-nfv-vnfd', defining_module='etsi-nfv-vnfd', yang_type='string', is_config=True)

371

372 key = __builtin__.property(_get_key, _set_key)

373 value = __builtin__.property(_get_value, _set_value)

374

375

376 _pyangbind_elements = OrderedDict([('key', key), ('value', value), ])

377

378

379 class yc_vif_quota_etsi_nfv_vnfd__vnfd_vdu_int_cpd_virtual_network_interface_requirement_vif_quota(PybindBase):

380 """

381 This class was auto-generated by the PythonClass plugin for PYANG

382 from YANG module etsi-nfv-vnfd - based on the path /vnfd/vdu/int-cpd/virtual-network-interface-requirement/vif-quota. Each member element of

383 the container is represented as a class variable - with a specific

384 YANG type.

385

386 YANG Description: Virtual interfaces quota describes the virtual interface bandwidth resource allocation policy.

387 Limit and Reserve values are defined in Mbps

388 """

389 __slots__ = ('_path_helper', '_extmethods', '__limit','__reserve','__shares',)

390

391 _yang_name = 'vif-quota'

392 _yang_namespace = 'urn:etsi:nfv:yang:etsi-nfv-vnfd'

393

394 _pybind_generated_by = 'container'

395

396 def __init__(self, *args, **kwargs):

397

398 self._path_helper = False

399

400 self._extmethods = False

401 self.__limit = YANGDynClass(base=RestrictedClassType(base_type=long, restriction_dict={'range': ['0..18446744073709551615']}, int_size=64), is_leaf=True, yang_name="limit", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='urn:etsi:osm:yang:augments:epa', defining_module='epa', yang_type='uint64', is_config=True)

402 self.__reserve = YANGDynClass(base=RestrictedClassType(base_type=long, restriction_dict={'range': ['0..18446744073709551615']}, int_size=64), is_leaf=True, yang_name="reserve", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='urn:etsi:osm:yang:augments:epa', defining_module='epa', yang_type='uint64', is_config=True)

403 self.__shares = YANGDynClass(base=RestrictedClassType(base_type=long, restriction_dict={'range': ['0..18446744073709551615']}, int_size=64), is_leaf=True, yang_name="shares", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='urn:etsi:osm:yang:augments:epa', defining_module='epa', yang_type='uint64', is_config=True)

404

405 load = kwargs.pop("load", None)

406 if args:

407 if len(args) > 1:

408 raise TypeError("cannot create a YANG container with >1 argument")

409 all_attr = True

410 for e in self._pyangbind_elements:

411 if not hasattr(args[0], e):

412 all_attr = False

413 break

414 if not all_attr:

415 raise ValueError("Supplied object did not have the correct attributes")

416 for e in self._pyangbind_elements:

417 nobj = getattr(args[0], e)

418 if nobj._changed() is False:

419 continue

420 setmethod = getattr(self, "_set_%s" % e)

421 if load is None:

422 setmethod(getattr(args[0], e))

423 else:

424 setmethod(getattr(args[0], e), load=load)

425

426 def _path(self):

427 if hasattr(self, "_parent"):

428 return self._parent._path()+[self._yang_name]

429 else:

430 return ['vnfd', 'vdu', 'int-cpd', 'virtual-network-interface-requirement', 'vif-quota']

431

432 def _get_limit(self):

433 """

434 Getter method for limit, mapped from YANG variable /vnfd/vdu/int_cpd/virtual_network_interface_requirement/vif_quota/limit (uint64)

435

436 YANG Description: Defines the maximum allocation. The value 0 indicates that usage is not limited.

437 This parameter ensures that the instance never uses more than the defined amount of resource.

438 """

439 return self.__limit

440

441 def _set_limit(self, v, load=False):

442 """

443 Setter method for limit, mapped from YANG variable /vnfd/vdu/int_cpd/virtual_network_interface_requirement/vif_quota/limit (uint64)

444 If this variable is read-only (config: false) in the

445 source YANG file, then _set_limit is considered as a private

446 method. Backends looking to populate this variable should

447 do so via calling thisObj._set_limit() directly.

448

449 YANG Description: Defines the maximum allocation. The value 0 indicates that usage is not limited.

450 This parameter ensures that the instance never uses more than the defined amount of resource.

451 """

452 if hasattr(v, "_utype"):

453 v = v._utype(v)

454 try:

455 t = YANGDynClass(v,base=RestrictedClassType(base_type=long, restriction_dict={'range': ['0..18446744073709551615']}, int_size=64), is_leaf=True, yang_name="limit", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='urn:etsi:osm:yang:augments:epa', defining_module='epa', yang_type='uint64', is_config=True)

456 except (TypeError, ValueError):

457 raise ValueError({

458 'error-string': """limit must be of a type compatible with uint64""",

459 'defined-type': "uint64",

460 'generated-type': """YANGDynClass(base=RestrictedClassType(base_type=long, restriction_dict={'range': ['0..18446744073709551615']}, int_size=64), is_leaf=True, yang_name="limit", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='urn:etsi:osm:yang:augments:epa', defining_module='epa', yang_type='uint64', is_config=True)""",

461 })

462

463 self.__limit = t

464 if hasattr(self, '_set'):

465 self._set()

466

467 def _unset_limit(self):

468 self.__limit = YANGDynClass(base=RestrictedClassType(base_type=long, restriction_dict={'range': ['0..18446744073709551615']}, int_size=64), is_leaf=True, yang_name="limit", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='urn:etsi:osm:yang:augments:epa', defining_module='epa', yang_type='uint64', is_config=True)

469

470

471 def _get_reserve(self):

472 """

473 Getter method for reserve, mapped from YANG variable /vnfd/vdu/int_cpd/virtual_network_interface_requirement/vif_quota/reserve (uint64)

474

475 YANG Description: Defines the guaranteed minimum reservation.

476 If needed, the machine will definitely get allocated the reserved amount of resources.

477 """

478 return self.__reserve

479

480 def _set_reserve(self, v, load=False):

481 """

482 Setter method for reserve, mapped from YANG variable /vnfd/vdu/int_cpd/virtual_network_interface_requirement/vif_quota/reserve (uint64)

483 If this variable is read-only (config: false) in the

484 source YANG file, then _set_reserve is considered as a private

485 method. Backends looking to populate this variable should

486 do so via calling thisObj._set_reserve() directly.

487

488 YANG Description: Defines the guaranteed minimum reservation.

489 If needed, the machine will definitely get allocated the reserved amount of resources.

490 """

491 if hasattr(v, "_utype"):

492 v = v._utype(v)

493 try:

494 t = YANGDynClass(v,base=RestrictedClassType(base_type=long, restriction_dict={'range': ['0..18446744073709551615']}, int_size=64), is_leaf=True, yang_name="reserve", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='urn:etsi:osm:yang:augments:epa', defining_module='epa', yang_type='uint64', is_config=True)

495 except (TypeError, ValueError):

496 raise ValueError({

497 'error-string': """reserve must be of a type compatible with uint64""",

498 'defined-type': "uint64",

499 'generated-type': """YANGDynClass(base=RestrictedClassType(base_type=long, restriction_dict={'range': ['0..18446744073709551615']}, int_size=64), is_leaf=True, yang_name="reserve", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='urn:etsi:osm:yang:augments:epa', defining_module='epa', yang_type='uint64', is_config=True)""",

500 })

501

502 self.__reserve = t

503 if hasattr(self, '_set'):

504 self._set()

505

506 def _unset_reserve(self):

507 self.__reserve = YANGDynClass(base=RestrictedClassType(base_type=long, restriction_dict={'range': ['0..18446744073709551615']}, int_size=64), is_leaf=True, yang_name="reserve", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='urn:etsi:osm:yang:augments:epa', defining_module='epa', yang_type='uint64', is_config=True)

508

509

510 def _get_shares(self):

511 """

512 Getter method for shares, mapped from YANG variable /vnfd/vdu/int_cpd/virtual_network_interface_requirement/vif_quota/shares (uint64)

513

514 YANG Description: Number of shares allocated.

515 Specifies the proportional weighted share for the domain.

516 If this element is omitted, the service defaults to the OS provided defaults

517 """

518 return self.__shares

519

520 def _set_shares(self, v, load=False):

521 """

522 Setter method for shares, mapped from YANG variable /vnfd/vdu/int_cpd/virtual_network_interface_requirement/vif_quota/shares (uint64)

523 If this variable is read-only (config: false) in the

524 source YANG file, then _set_shares is considered as a private

525 method. Backends looking to populate this variable should

526 do so via calling thisObj._set_shares() directly.

527

528 YANG Description: Number of shares allocated.

529 Specifies the proportional weighted share for the domain.

530 If this element is omitted, the service defaults to the OS provided defaults

531 """

532 if hasattr(v, "_utype"):

533 v = v._utype(v)

534 try:

535 t = YANGDynClass(v,base=RestrictedClassType(base_type=long, restriction_dict={'range': ['0..18446744073709551615']}, int_size=64), is_leaf=True, yang_name="shares", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='urn:etsi:osm:yang:augments:epa', defining_module='epa', yang_type='uint64', is_config=True)

536 except (TypeError, ValueError):

537 raise ValueError({

538 'error-string': """shares must be of a type compatible with uint64""",

539 'defined-type': "uint64",

540 'generated-type': """YANGDynClass(base=RestrictedClassType(base_type=long, restriction_dict={'range': ['0..18446744073709551615']}, int_size=64), is_leaf=True, yang_name="shares", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='urn:etsi:osm:yang:augments:epa', defining_module='epa', yang_type='uint64', is_config=True)""",

541 })

542

543 self.__shares = t

544 if hasattr(self, '_set'):

545 self._set()

546

547 def _unset_shares(self):

548 self.__shares = YANGDynClass(base=RestrictedClassType(base_type=long, restriction_dict={'range': ['0..18446744073709551615']}, int_size=64), is_leaf=True, yang_name="shares", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='urn:etsi:osm:yang:augments:epa', defining_module='epa', yang_type='uint64', is_config=True)

549

550 limit = __builtin__.property(_get_limit, _set_limit)

551 reserve = __builtin__.property(_get_reserve, _set_reserve)

552 shares = __builtin__.property(_get_shares, _set_shares)

553

554

555 _pyangbind_elements = OrderedDict([('limit', limit), ('reserve', reserve), ('shares', shares), ])

556

557

558 class yc_virtual_interface_etsi_nfv_vnfd__vnfd_vdu_int_cpd_virtual_network_interface_requirement_virtual_interface(PybindBase):

559 """

560 This class was auto-generated by the PythonClass plugin for PYANG

561 from YANG module etsi-nfv-vnfd - based on the path /vnfd/vdu/int-cpd/virtual-network-interface-requirement/virtual-interface. Each member element of

562 the container is represented as a class variable - with a specific

563 YANG type.

564

565 YANG Description: Container for the virtual interface properties

566 """

567 __slots__ = ('_path_helper', '_extmethods', '__type','__vpci','__bandwidth',)

568

569 _yang_name = 'virtual-interface'

570 _yang_namespace = 'urn:etsi:nfv:yang:etsi-nfv-vnfd'

571

572 _pybind_generated_by = 'container'

573

574 def __init__(self, *args, **kwargs):

575

576 self._path_helper = False

577

578 self._extmethods = False

579 self.__type = YANGDynClass(base=RestrictedClassType(base_type=str, restriction_type="dict_key", restriction_arg={'PARAVIRT': {}, 'OM-MGMT': {}, 'PCI-PASSTHROUGH': {}, 'SR-IOV': {}, 'VIRTIO': {}, 'E1000': {}, 'RTL8139': {}, 'PCNET': {}},), default=str("PARAVIRT"), is_leaf=True, yang_name="type", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='urn:etsi:osm:yang:augments:interface', defining_module='interface', yang_type='enumeration', is_config=True)

580 self.__vpci = YANGDynClass(base=str, is_leaf=True, yang_name="vpci", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='urn:etsi:osm:yang:augments:interface', defining_module='interface', yang_type='string', is_config=True)

581 self.__bandwidth = YANGDynClass(base=RestrictedClassType(base_type=long, restriction_dict={'range': ['0..18446744073709551615']}, int_size=64), is_leaf=True, yang_name="bandwidth", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='urn:etsi:osm:yang:augments:interface', defining_module='interface', yang_type='uint64', is_config=True)

582

583 load = kwargs.pop("load", None)

584 if args:

585 if len(args) > 1:

586 raise TypeError("cannot create a YANG container with >1 argument")

587 all_attr = True

588 for e in self._pyangbind_elements:

589 if not hasattr(args[0], e):

590 all_attr = False

591 break

592 if not all_attr:

593 raise ValueError("Supplied object did not have the correct attributes")

594 for e in self._pyangbind_elements:

595 nobj = getattr(args[0], e)

596 if nobj._changed() is False:

597 continue

598 setmethod = getattr(self, "_set_%s" % e)

599 if load is None:

600 setmethod(getattr(args[0], e))

601 else:

602 setmethod(getattr(args[0], e), load=load)

603

604 def _path(self):

605 if hasattr(self, "_parent"):

606 return self._parent._path()+[self._yang_name]

607 else:

608 return ['vnfd', 'vdu', 'int-cpd', 'virtual-network-interface-requirement', 'virtual-interface']

609

610 def _get_type(self):

611 """

612 Getter method for type, mapped from YANG variable /vnfd/vdu/int_cpd/virtual_network_interface_requirement/virtual_interface/type (enumeration)

613

614 YANG Description: Specifies the type of virtual interface

615 between VM and host.

616 PARAVIRT : Use the default paravirtualized interface for the VIM (virtio, vmxnet3, etc.).

617 VIRTIO : Deprecated! Use the traditional VIRTIO interface.

618 PCI-PASSTHROUGH : Use PCI-PASSTHROUGH interface.

619 SR-IOV : Use SR-IOV interface.

620 E1000 : Emulate E1000 interface.

621 RTL8139 : Emulate RTL8139 interface.

622 PCNET : Emulate PCNET interface.

623 OM-MGMT : Deprecated! Use PARAVIRT instead and set the VNF management interface at vnfd:mgmt-interface:cp

624 """

625 return self.__type

626

627 def _set_type(self, v, load=False):

628 """

629 Setter method for type, mapped from YANG variable /vnfd/vdu/int_cpd/virtual_network_interface_requirement/virtual_interface/type (enumeration)

630 If this variable is read-only (config: false) in the

631 source YANG file, then _set_type is considered as a private

632 method. Backends looking to populate this variable should

633 do so via calling thisObj._set_type() directly.

634

635 YANG Description: Specifies the type of virtual interface

636 between VM and host.

637 PARAVIRT : Use the default paravirtualized interface for the VIM (virtio, vmxnet3, etc.).

638 VIRTIO : Deprecated! Use the traditional VIRTIO interface.

639 PCI-PASSTHROUGH : Use PCI-PASSTHROUGH interface.

640 SR-IOV : Use SR-IOV interface.

641 E1000 : Emulate E1000 interface.

642 RTL8139 : Emulate RTL8139 interface.

643 PCNET : Emulate PCNET interface.

644 OM-MGMT : Deprecated! Use PARAVIRT instead and set the VNF management interface at vnfd:mgmt-interface:cp

645 """

646 if hasattr(v, "_utype"):

647 v = v._utype(v)

648 try:

649 t = YANGDynClass(v,base=RestrictedClassType(base_type=str, restriction_type="dict_key", restriction_arg={'PARAVIRT': {}, 'OM-MGMT': {}, 'PCI-PASSTHROUGH': {}, 'SR-IOV': {}, 'VIRTIO': {}, 'E1000': {}, 'RTL8139': {}, 'PCNET': {}},), default=str("PARAVIRT"), is_leaf=True, yang_name="type", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='urn:etsi:osm:yang:augments:interface', defining_module='interface', yang_type='enumeration', is_config=True)

650 except (TypeError, ValueError):

651 raise ValueError({

652 'error-string': """type must be of a type compatible with enumeration""",

653 'defined-type': "interface:enumeration",

654 'generated-type': """YANGDynClass(base=RestrictedClassType(base_type=str, restriction_type="dict_key", restriction_arg={'PARAVIRT': {}, 'OM-MGMT': {}, 'PCI-PASSTHROUGH': {}, 'SR-IOV': {}, 'VIRTIO': {}, 'E1000': {}, 'RTL8139': {}, 'PCNET': {}},), default=str("PARAVIRT"), is_leaf=True, yang_name="type", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='urn:etsi:osm:yang:augments:interface', defining_module='interface', yang_type='enumeration', is_config=True)""",

655 })

656

657 self.__type = t

658 if hasattr(self, '_set'):

659 self._set()

660

661 def _unset_type(self):

662 self.__type = YANGDynClass(base=RestrictedClassType(base_type=str, restriction_type="dict_key", restriction_arg={'PARAVIRT': {}, 'OM-MGMT': {}, 'PCI-PASSTHROUGH': {}, 'SR-IOV': {}, 'VIRTIO': {}, 'E1000': {}, 'RTL8139': {}, 'PCNET': {}},), default=str("PARAVIRT"), is_leaf=True, yang_name="type", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='urn:etsi:osm:yang:augments:interface', defining_module='interface', yang_type='enumeration', is_config=True)

663

664

665 def _get_vpci(self):

666 """

667 Getter method for vpci, mapped from YANG variable /vnfd/vdu/int_cpd/virtual_network_interface_requirement/virtual_interface/vpci (string)

668

669 YANG Description: Specifies the virtual PCI address. Expressed in

670 the following format dddd:dd:dd.d. For example

671 0000:00:12.0. This information can be used to

672 pass as metadata during the VM creation.

673 """

674 return self.__vpci

675

676 def _set_vpci(self, v, load=False):

677 """

678 Setter method for vpci, mapped from YANG variable /vnfd/vdu/int_cpd/virtual_network_interface_requirement/virtual_interface/vpci (string)

679 If this variable is read-only (config: false) in the

680 source YANG file, then _set_vpci is considered as a private

681 method. Backends looking to populate this variable should

682 do so via calling thisObj._set_vpci() directly.

683

684 YANG Description: Specifies the virtual PCI address. Expressed in

685 the following format dddd:dd:dd.d. For example

686 0000:00:12.0. This information can be used to

687 pass as metadata during the VM creation.

688 """

689 if hasattr(v, "_utype"):

690 v = v._utype(v)

691 try:

692 t = YANGDynClass(v,base=str, is_leaf=True, yang_name="vpci", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='urn:etsi:osm:yang:augments:interface', defining_module='interface', yang_type='string', is_config=True)

693 except (TypeError, ValueError):

694 raise ValueError({

695 'error-string': """vpci must be of a type compatible with string""",

696 'defined-type': "string",

697 'generated-type': """YANGDynClass(base=str, is_leaf=True, yang_name="vpci", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='urn:etsi:osm:yang:augments:interface', defining_module='interface', yang_type='string', is_config=True)""",

698 })

699

700 self.__vpci = t

701 if hasattr(self, '_set'):

702 self._set()

703

704 def _unset_vpci(self):

705 self.__vpci = YANGDynClass(base=str, is_leaf=True, yang_name="vpci", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='urn:etsi:osm:yang:augments:interface', defining_module='interface', yang_type='string', is_config=True)

706

707

708 def _get_bandwidth(self):

709 """

710 Getter method for bandwidth, mapped from YANG variable /vnfd/vdu/int_cpd/virtual_network_interface_requirement/virtual_interface/bandwidth (uint64)

711

712 YANG Description: Aggregate bandwidth of the NIC.

713 """

714 return self.__bandwidth

715

716 def _set_bandwidth(self, v, load=False):

717 """

718 Setter method for bandwidth, mapped from YANG variable /vnfd/vdu/int_cpd/virtual_network_interface_requirement/virtual_interface/bandwidth (uint64)

719 If this variable is read-only (config: false) in the

720 source YANG file, then _set_bandwidth is considered as a private

721 method. Backends looking to populate this variable should

722 do so via calling thisObj._set_bandwidth() directly.

723

724 YANG Description: Aggregate bandwidth of the NIC.

725 """

726 if hasattr(v, "_utype"):

727 v = v._utype(v)

728 try:

729 t = YANGDynClass(v,base=RestrictedClassType(base_type=long, restriction_dict={'range': ['0..18446744073709551615']}, int_size=64), is_leaf=True, yang_name="bandwidth", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='urn:etsi:osm:yang:augments:interface', defining_module='interface', yang_type='uint64', is_config=True)

730 except (TypeError, ValueError):

731 raise ValueError({

732 'error-string': """bandwidth must be of a type compatible with uint64""",

733 'defined-type': "uint64",

734 'generated-type': """YANGDynClass(base=RestrictedClassType(base_type=long, restriction_dict={'range': ['0..18446744073709551615']}, int_size=64), is_leaf=True, yang_name="bandwidth", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='urn:etsi:osm:yang:augments:interface', defining_module='interface', yang_type='uint64', is_config=True)""",

735 })

736

737 self.__bandwidth = t

738 if hasattr(self, '_set'):

739 self._set()

740

741 def _unset_bandwidth(self):

742 self.__bandwidth = YANGDynClass(base=RestrictedClassType(base_type=long, restriction_dict={'range': ['0..18446744073709551615']}, int_size=64), is_leaf=True, yang_name="bandwidth", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='urn:etsi:osm:yang:augments:interface', defining_module='interface', yang_type='uint64', is_config=True)

743

744 type = __builtin__.property(_get_type, _set_type)

745 vpci = __builtin__.property(_get_vpci, _set_vpci)

746 bandwidth = __builtin__.property(_get_bandwidth, _set_bandwidth)

747

748

749 _pyangbind_elements = OrderedDict([('type', type), ('vpci', vpci), ('bandwidth', bandwidth), ])

750

751

752 class yc_virtual_network_interface_requirement_etsi_nfv_vnfd__vnfd_vdu_int_cpd_virtual_network_interface_requirement(PybindBase):

753 """

754 This class was auto-generated by the PythonClass plugin for PYANG

755 from YANG module etsi-nfv-vnfd - based on the path /vnfd/vdu/int-cpd/virtual-network-interface-requirement. Each member element of

756 the container is represented as a class variable - with a specific

757 YANG type.

758

759 YANG Description: Specifies requirements on a virtual network interface

760 realising the CPs instantiated from this CPD.

761 """

762 __slots__ = ('_path_helper', '_extmethods', '__name','__description','__support_mandatory','__network_interface_requirements','__vif_quota','__position','__ip_address','__mac_address','__virtual_interface',)

763

764 _yang_name = 'virtual-network-interface-requirement'

765 _yang_namespace = 'urn:etsi:nfv:yang:etsi-nfv-vnfd'

766

767 _pybind_generated_by = 'container'

768

769 def __init__(self, *args, **kwargs):

770

771 self._path_helper = False

772

773 self._extmethods = False

774 self.__name = YANGDynClass(base=str, is_leaf=True, yang_name="name", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, is_keyval=True, namespace='urn:etsi:nfv:yang:etsi-nfv-vnfd', defining_module='etsi-nfv-vnfd', yang_type='string', is_config=True)

775 self.__description = YANGDynClass(base=str, is_leaf=True, yang_name="description", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='urn:etsi:nfv:yang:etsi-nfv-vnfd', defining_module='etsi-nfv-vnfd', yang_type='string', is_config=True)

776 self.__support_mandatory = YANGDynClass(base=YANGBool, default=YANGBool("false"), is_leaf=True, yang_name="support-mandatory", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='urn:etsi:nfv:yang:etsi-nfv-vnfd', defining_module='etsi-nfv-vnfd', yang_type='boolean', is_config=True)

777 self.__network_interface_requirements = YANGDynClass(base=YANGListType("key",yc_network_interface_requirements_etsi_nfv_vnfd__vnfd_vdu_int_cpd_virtual_network_interface_requirement_network_interface_requirements, yang_name="network-interface-requirements", parent=self, is_container='list', user_ordered=False, path_helper=self._path_helper, yang_keys='key', extensions=None), is_container='list', yang_name="network-interface-requirements", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, extensions=None, namespace='urn:etsi:nfv:yang:etsi-nfv-vnfd', defining_module='etsi-nfv-vnfd', yang_type='list', is_config=True)

778 self.__vif_quota = YANGDynClass(base=yc_vif_quota_etsi_nfv_vnfd__vnfd_vdu_int_cpd_virtual_network_interface_requirement_vif_quota, is_container='container', yang_name="vif-quota", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, extensions=None, namespace='urn:etsi:osm:yang:augments:epa', defining_module='epa', yang_type='container', is_config=True)

779 self.__position = YANGDynClass(base=RestrictedClassType(base_type=long, restriction_dict={'range': ['0..4294967295']}, int_size=32), is_leaf=True, yang_name="position", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='urn:etsi:osm:yang:augments:interface', defining_module='interface', yang_type='uint32', is_config=True)

780 self.__ip_address = YANGDynClass(base=[RestrictedClassType(base_type=str, 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])(%[\\p{N}\\p{L}]+)?'}),RestrictedClassType(base_type=str, restriction_dict={'pattern': '((:|[0-9a-fA-F]{0,4}):)([0-9a-fA-F]{0,4}:){0,5}((([0-9a-fA-F]{0,4}:)?(:|[0-9a-fA-F]{0,4}))|(((25[0-5]|2[0-4][0-9]|[01]?[0-9]?[0-9])\\.){3}(25[0-5]|2[0-4][0-9]|[01]?[0-9]?[0-9])))(%[\\p{N}\\p{L}]+)?'}),], is_leaf=True, yang_name="ip-address", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='urn:etsi:osm:yang:augments:interface', defining_module='interface', yang_type='inet:ip-address', is_config=True)

781 self.__mac_address = YANGDynClass(base=str, is_leaf=True, yang_name="mac-address", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='urn:etsi:osm:yang:augments:interface', defining_module='interface', yang_type='string', is_config=True)

782 self.__virtual_interface = YANGDynClass(base=yc_virtual_interface_etsi_nfv_vnfd__vnfd_vdu_int_cpd_virtual_network_interface_requirement_virtual_interface, is_container='container', yang_name="virtual-interface", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, extensions=None, namespace='urn:etsi:osm:yang:augments:interface', defining_module='interface', yang_type='container', is_config=True)

783

784 load = kwargs.pop("load", None)

785 if args:

786 if len(args) > 1:

787 raise TypeError("cannot create a YANG container with >1 argument")

788 all_attr = True

789 for e in self._pyangbind_elements:

790 if not hasattr(args[0], e):

791 all_attr = False

792 break

793 if not all_attr:

794 raise ValueError("Supplied object did not have the correct attributes")

795 for e in self._pyangbind_elements:

796 nobj = getattr(args[0], e)

797 if nobj._changed() is False:

798 continue

799 setmethod = getattr(self, "_set_%s" % e)

800 if load is None:

801 setmethod(getattr(args[0], e))

802 else:

803 setmethod(getattr(args[0], e), load=load)

804

805 def _path(self):

806 if hasattr(self, "_parent"):

807 return self._parent._path()+[self._yang_name]

808 else:

809 return ['vnfd', 'vdu', 'int-cpd', 'virtual-network-interface-requirement']

810

811 def _get_name(self):

812 """

813 Getter method for name, mapped from YANG variable /vnfd/vdu/int_cpd/virtual_network_interface_requirement/name (string)

814

815 YANG Description: Provides a human readable name for the requirement.

816 """

817 return self.__name

818

819 def _set_name(self, v, load=False):

820 """

821 Setter method for name, mapped from YANG variable /vnfd/vdu/int_cpd/virtual_network_interface_requirement/name (string)

822 If this variable is read-only (config: false) in the

823 source YANG file, then _set_name is considered as a private

824 method. Backends looking to populate this variable should

825 do so via calling thisObj._set_name() directly.

826

827 YANG Description: Provides a human readable name for the requirement.

828 """

829 parent = getattr(self, "_parent", None)

830 if parent is not None and load is False:

831 raise AttributeError("Cannot set keys directly when" +

832 " within an instantiated list")

833

834 if hasattr(v, "_utype"):

835 v = v._utype(v)

836 try:

837 t = YANGDynClass(v,base=str, is_leaf=True, yang_name="name", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, is_keyval=True, namespace='urn:etsi:nfv:yang:etsi-nfv-vnfd', defining_module='etsi-nfv-vnfd', yang_type='string', is_config=True)

838 except (TypeError, ValueError):

839 raise ValueError({

840 'error-string': """name must be of a type compatible with string""",

841 'defined-type': "string",

842 'generated-type': """YANGDynClass(base=str, is_leaf=True, yang_name="name", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, is_keyval=True, namespace='urn:etsi:nfv:yang:etsi-nfv-vnfd', defining_module='etsi-nfv-vnfd', yang_type='string', is_config=True)""",

843 })

844

845 self.__name = t

846 if hasattr(self, '_set'):

847 self._set()

848

849 def _unset_name(self):

850 self.__name = YANGDynClass(base=str, is_leaf=True, yang_name="name", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, is_keyval=True, namespace='urn:etsi:nfv:yang:etsi-nfv-vnfd', defining_module='etsi-nfv-vnfd', yang_type='string', is_config=True)

851

852

853 def _get_description(self):

854 """

855 Getter method for description, mapped from YANG variable /vnfd/vdu/int_cpd/virtual_network_interface_requirement/description (string)

856

857 YANG Description: Provides a human readable description of the requirement.

858 """

859 return self.__description

860

861 def _set_description(self, v, load=False):

862 """

863 Setter method for description, mapped from YANG variable /vnfd/vdu/int_cpd/virtual_network_interface_requirement/description (string)

864 If this variable is read-only (config: false) in the

865 source YANG file, then _set_description is considered as a private

866 method. Backends looking to populate this variable should

867 do so via calling thisObj._set_description() directly.

868

869 YANG Description: Provides a human readable description of the requirement.

870 """

871 if hasattr(v, "_utype"):

872 v = v._utype(v)

873 try:

874 t = YANGDynClass(v,base=str, is_leaf=True, yang_name="description", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='urn:etsi:nfv:yang:etsi-nfv-vnfd', defining_module='etsi-nfv-vnfd', yang_type='string', is_config=True)

875 except (TypeError, ValueError):

876 raise ValueError({

877 'error-string': """description must be of a type compatible with string""",

878 'defined-type': "string",

879 'generated-type': """YANGDynClass(base=str, is_leaf=True, yang_name="description", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='urn:etsi:nfv:yang:etsi-nfv-vnfd', defining_module='etsi-nfv-vnfd', yang_type='string', is_config=True)""",

880 })

881

882 self.__description = t

883 if hasattr(self, '_set'):

884 self._set()

885

886 def _unset_description(self):

887 self.__description = YANGDynClass(base=str, is_leaf=True, yang_name="description", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='urn:etsi:nfv:yang:etsi-nfv-vnfd', defining_module='etsi-nfv-vnfd', yang_type='string', is_config=True)

888

889

890 def _get_support_mandatory(self):

891 """

892 Getter method for support_mandatory, mapped from YANG variable /vnfd/vdu/int_cpd/virtual_network_interface_requirement/support_mandatory (boolean)

893

894 YANG Description: Indicates whether fulfilling the constraint is

895 mandatory (true) for successful operation or desirable

896(false).

897 """

898 return self.__support_mandatory

899

900 def _set_support_mandatory(self, v, load=False):

901 """

902 Setter method for support_mandatory, mapped from YANG variable /vnfd/vdu/int_cpd/virtual_network_interface_requirement/support_mandatory (boolean)

903 If this variable is read-only (config: false) in the

904 source YANG file, then _set_support_mandatory is considered as a private

905 method. Backends looking to populate this variable should

906 do so via calling thisObj._set_support_mandatory() directly.

907

908 YANG Description: Indicates whether fulfilling the constraint is

909 mandatory (true) for successful operation or desirable

910(false).

911 """

912 if hasattr(v, "_utype"):

913 v = v._utype(v)

914 try:

915 t = YANGDynClass(v,base=YANGBool, default=YANGBool("false"), is_leaf=True, yang_name="support-mandatory", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='urn:etsi:nfv:yang:etsi-nfv-vnfd', defining_module='etsi-nfv-vnfd', yang_type='boolean', is_config=True)

916 except (TypeError, ValueError):

917 raise ValueError({

918 'error-string': """support_mandatory must be of a type compatible with boolean""",

919 'defined-type': "boolean",

920 'generated-type': """YANGDynClass(base=YANGBool, default=YANGBool("false"), is_leaf=True, yang_name="support-mandatory", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='urn:etsi:nfv:yang:etsi-nfv-vnfd', defining_module='etsi-nfv-vnfd', yang_type='boolean', is_config=True)""",

921 })

922

923 self.__support_mandatory = t

924 if hasattr(self, '_set'):

925 self._set()

926

927 def _unset_support_mandatory(self):

928 self.__support_mandatory = YANGDynClass(base=YANGBool, default=YANGBool("false"), is_leaf=True, yang_name="support-mandatory", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='urn:etsi:nfv:yang:etsi-nfv-vnfd', defining_module='etsi-nfv-vnfd', yang_type='boolean', is_config=True)

929

930

931 def _get_network_interface_requirements(self):

932 """

933 Getter method for network_interface_requirements, mapped from YANG variable /vnfd/vdu/int_cpd/virtual_network_interface_requirement/network_interface_requirements (list)

934

935 YANG Description: The network interface requirements. An element from an

936 array of key-value pairs that articulate the network

937 interface deployment requirements.

938 """

939 return self.__network_interface_requirements

940

941 def _set_network_interface_requirements(self, v, load=False):

942 """

943 Setter method for network_interface_requirements, mapped from YANG variable /vnfd/vdu/int_cpd/virtual_network_interface_requirement/network_interface_requirements (list)

944 If this variable is read-only (config: false) in the

945 source YANG file, then _set_network_interface_requirements is considered as a private

946 method. Backends looking to populate this variable should

947 do so via calling thisObj._set_network_interface_requirements() directly.

948

949 YANG Description: The network interface requirements. An element from an

950 array of key-value pairs that articulate the network

951 interface deployment requirements.

952 """

953 if hasattr(v, "_utype"):

954 v = v._utype(v)

955 try:

956 t = YANGDynClass(v,base=YANGListType("key",yc_network_interface_requirements_etsi_nfv_vnfd__vnfd_vdu_int_cpd_virtual_network_interface_requirement_network_interface_requirements, yang_name="network-interface-requirements", parent=self, is_container='list', user_ordered=False, path_helper=self._path_helper, yang_keys='key', extensions=None), is_container='list', yang_name="network-interface-requirements", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, extensions=None, namespace='urn:etsi:nfv:yang:etsi-nfv-vnfd', defining_module='etsi-nfv-vnfd', yang_type='list', is_config=True)

957 except (TypeError, ValueError):

958 raise ValueError({

959 'error-string': """network_interface_requirements must be of a type compatible with list""",

960 'defined-type': "list",

961 'generated-type': """YANGDynClass(base=YANGListType("key",yc_network_interface_requirements_etsi_nfv_vnfd__vnfd_vdu_int_cpd_virtual_network_interface_requirement_network_interface_requirements, yang_name="network-interface-requirements", parent=self, is_container='list', user_ordered=False, path_helper=self._path_helper, yang_keys='key', extensions=None), is_container='list', yang_name="network-interface-requirements", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, extensions=None, namespace='urn:etsi:nfv:yang:etsi-nfv-vnfd', defining_module='etsi-nfv-vnfd', yang_type='list', is_config=True)""",

962 })

963

964 self.__network_interface_requirements = t

965 if hasattr(self, '_set'):

966 self._set()

967

968 def _unset_network_interface_requirements(self):

969 self.__network_interface_requirements = YANGDynClass(base=YANGListType("key",yc_network_interface_requirements_etsi_nfv_vnfd__vnfd_vdu_int_cpd_virtual_network_interface_requirement_network_interface_requirements, yang_name="network-interface-requirements", parent=self, is_container='list', user_ordered=False, path_helper=self._path_helper, yang_keys='key', extensions=None), is_container='list', yang_name="network-interface-requirements", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, extensions=None, namespace='urn:etsi:nfv:yang:etsi-nfv-vnfd', defining_module='etsi-nfv-vnfd', yang_type='list', is_config=True)

970

971

972 def _get_vif_quota(self):

973 """

974 Getter method for vif_quota, mapped from YANG variable /vnfd/vdu/int_cpd/virtual_network_interface_requirement/vif_quota (container)

975

976 YANG Description: Virtual interfaces quota describes the virtual interface bandwidth resource allocation policy.

977 Limit and Reserve values are defined in Mbps

978 """

979 return self.__vif_quota

980

981 def _set_vif_quota(self, v, load=False):

982 """

983 Setter method for vif_quota, mapped from YANG variable /vnfd/vdu/int_cpd/virtual_network_interface_requirement/vif_quota (container)

984 If this variable is read-only (config: false) in the

985 source YANG file, then _set_vif_quota is considered as a private

986 method. Backends looking to populate this variable should

987 do so via calling thisObj._set_vif_quota() directly.

988

989 YANG Description: Virtual interfaces quota describes the virtual interface bandwidth resource allocation policy.

990 Limit and Reserve values are defined in Mbps

991 """

992 if hasattr(v, "_utype"):

993 v = v._utype(v)

994 try:

995 t = YANGDynClass(v,base=yc_vif_quota_etsi_nfv_vnfd__vnfd_vdu_int_cpd_virtual_network_interface_requirement_vif_quota, is_container='container', yang_name="vif-quota", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, extensions=None, namespace='urn:etsi:osm:yang:augments:epa', defining_module='epa', yang_type='container', is_config=True)

996 except (TypeError, ValueError):

997 raise ValueError({

998 'error-string': """vif_quota must be of a type compatible with container""",

999 'defined-type': "container",

1000 'generated-type': """YANGDynClass(base=yc_vif_quota_etsi_nfv_vnfd__vnfd_vdu_int_cpd_virtual_network_interface_requirement_vif_quota, is_container='container', yang_name="vif-quota", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, extensions=None, namespace='urn:etsi:osm:yang:augments:epa', defining_module='epa', yang_type='container', is_config=True)""",

1001 })

1002

1003 self.__vif_quota = t

1004 if hasattr(self, '_set'):

1005 self._set()

1006

1007 def _unset_vif_quota(self):

1008 self.__vif_quota = YANGDynClass(base=yc_vif_quota_etsi_nfv_vnfd__vnfd_vdu_int_cpd_virtual_network_interface_requirement_vif_quota, is_container='container', yang_name="vif-quota", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, extensions=None, namespace='urn:etsi:osm:yang:augments:epa', defining_module='epa', yang_type='container', is_config=True)

1009

1010

1011 def _get_position(self):

1012 """

1013 Getter method for position, mapped from YANG variable /vnfd/vdu/int_cpd/virtual_network_interface_requirement/position (uint32)

1014

1015 YANG Description: Explicit Position of the interface within the list

1016 """

1017 return self.__position

1018

1019 def _set_position(self, v, load=False):

1020 """

1021 Setter method for position, mapped from YANG variable /vnfd/vdu/int_cpd/virtual_network_interface_requirement/position (uint32)

1022 If this variable is read-only (config: false) in the

1023 source YANG file, then _set_position is considered as a private

1024 method. Backends looking to populate this variable should

1025 do so via calling thisObj._set_position() directly.

1026

1027 YANG Description: Explicit Position of the interface within the list

1028 """

1029 if hasattr(v, "_utype"):

1030 v = v._utype(v)

1031 try:

1032 t = YANGDynClass(v,base=RestrictedClassType(base_type=long, restriction_dict={'range': ['0..4294967295']}, int_size=32), is_leaf=True, yang_name="position", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='urn:etsi:osm:yang:augments:interface', defining_module='interface', yang_type='uint32', is_config=True)

1033 except (TypeError, ValueError):

1034 raise ValueError({

1035 'error-string': """position must be of a type compatible with uint32""",

1036 'defined-type': "uint32",

1037 'generated-type': """YANGDynClass(base=RestrictedClassType(base_type=long, restriction_dict={'range': ['0..4294967295']}, int_size=32), is_leaf=True, yang_name="position", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='urn:etsi:osm:yang:augments:interface', defining_module='interface', yang_type='uint32', is_config=True)""",

1038 })

1039

1040 self.__position = t

1041 if hasattr(self, '_set'):

1042 self._set()

1043

1044 def _unset_position(self):

1045 self.__position = YANGDynClass(base=RestrictedClassType(base_type=long, restriction_dict={'range': ['0..4294967295']}, int_size=32), is_leaf=True, yang_name="position", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='urn:etsi:osm:yang:augments:interface', defining_module='interface', yang_type='uint32', is_config=True)

1046

1047

1048 def _get_ip_address(self):

1049 """

1050 Getter method for ip_address, mapped from YANG variable /vnfd/vdu/int_cpd/virtual_network_interface_requirement/ip_address (inet:ip-address)

1051

1052 YANG Description: IP address of the internal connection point

1053 """

1054 return self.__ip_address

1055

1056 def _set_ip_address(self, v, load=False):

1057 """

1058 Setter method for ip_address, mapped from YANG variable /vnfd/vdu/int_cpd/virtual_network_interface_requirement/ip_address (inet:ip-address)

1059 If this variable is read-only (config: false) in the

1060 source YANG file, then _set_ip_address is considered as a private

1061 method. Backends looking to populate this variable should

1062 do so via calling thisObj._set_ip_address() directly.

1063

1064 YANG Description: IP address of the internal connection point

1065 """

1066 if hasattr(v, "_utype"):

1067 v = v._utype(v)

1068 try:

1069 t = YANGDynClass(v,base=[RestrictedClassType(base_type=str, 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])(%[\\p{N}\\p{L}]+)?'}),RestrictedClassType(base_type=str, restriction_dict={'pattern': '((:|[0-9a-fA-F]{0,4}):)([0-9a-fA-F]{0,4}:){0,5}((([0-9a-fA-F]{0,4}:)?(:|[0-9a-fA-F]{0,4}))|(((25[0-5]|2[0-4][0-9]|[01]?[0-9]?[0-9])\\.){3}(25[0-5]|2[0-4][0-9]|[01]?[0-9]?[0-9])))(%[\\p{N}\\p{L}]+)?'}),], is_leaf=True, yang_name="ip-address", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='urn:etsi:osm:yang:augments:interface', defining_module='interface', yang_type='inet:ip-address', is_config=True)

1070 except (TypeError, ValueError):

1071 raise ValueError({

1072 'error-string': """ip_address must be of a type compatible with inet:ip-address""",

1073 'defined-type': "inet:ip-address",

1074 'generated-type': """YANGDynClass(base=[RestrictedClassType(base_type=str, 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])(%[\\p{N}\\p{L}]+)?'}),RestrictedClassType(base_type=str, restriction_dict={'pattern': '((:|[0-9a-fA-F]{0,4}):)([0-9a-fA-F]{0,4}:){0,5}((([0-9a-fA-F]{0,4}:)?(:|[0-9a-fA-F]{0,4}))|(((25[0-5]|2[0-4][0-9]|[01]?[0-9]?[0-9])\\.){3}(25[0-5]|2[0-4][0-9]|[01]?[0-9]?[0-9])))(%[\\p{N}\\p{L}]+)?'}),], is_leaf=True, yang_name="ip-address", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='urn:etsi:osm:yang:augments:interface', defining_module='interface', yang_type='inet:ip-address', is_config=True)""",

1075 })

1076

1077 self.__ip_address = t

1078 if hasattr(self, '_set'):

1079 self._set()

1080

1081 def _unset_ip_address(self):

1082 self.__ip_address = YANGDynClass(base=[RestrictedClassType(base_type=str, 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])(%[\\p{N}\\p{L}]+)?'}),RestrictedClassType(base_type=str, restriction_dict={'pattern': '((:|[0-9a-fA-F]{0,4}):)([0-9a-fA-F]{0,4}:){0,5}((([0-9a-fA-F]{0,4}:)?(:|[0-9a-fA-F]{0,4}))|(((25[0-5]|2[0-4][0-9]|[01]?[0-9]?[0-9])\\.){3}(25[0-5]|2[0-4][0-9]|[01]?[0-9]?[0-9])))(%[\\p{N}\\p{L}]+)?'}),], is_leaf=True, yang_name="ip-address", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='urn:etsi:osm:yang:augments:interface', defining_module='interface', yang_type='inet:ip-address', is_config=True)

1083

1084

1085 def _get_mac_address(self):

1086 """

1087 Getter method for mac_address, mapped from YANG variable /vnfd/vdu/int_cpd/virtual_network_interface_requirement/mac_address (string)

1088

1089 YANG Description: MAC address of the interface.

1090 Some VNFs require a specific MAC address to be configured

1091 in the interface. While this is not recommended at all in

1092 NFV environments, this parameter exists to allow those

1093 scenarios.

1094 This parameter will be likely deprecated in the future.

1095 """

1096 return self.__mac_address

1097

1098 def _set_mac_address(self, v, load=False):

1099 """

1100 Setter method for mac_address, mapped from YANG variable /vnfd/vdu/int_cpd/virtual_network_interface_requirement/mac_address (string)

1101 If this variable is read-only (config: false) in the

1102 source YANG file, then _set_mac_address is considered as a private

1103 method. Backends looking to populate this variable should

1104 do so via calling thisObj._set_mac_address() directly.

1105

1106 YANG Description: MAC address of the interface.

1107 Some VNFs require a specific MAC address to be configured

1108 in the interface. While this is not recommended at all in

1109 NFV environments, this parameter exists to allow those

1110 scenarios.

1111 This parameter will be likely deprecated in the future.

1112 """

1113 if hasattr(v, "_utype"):

1114 v = v._utype(v)

1115 try:

1116 t = YANGDynClass(v,base=str, is_leaf=True, yang_name="mac-address", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='urn:etsi:osm:yang:augments:interface', defining_module='interface', yang_type='string', is_config=True)

1117 except (TypeError, ValueError):

1118 raise ValueError({

1119 'error-string': """mac_address must be of a type compatible with string""",

1120 'defined-type': "string",

1121 'generated-type': """YANGDynClass(base=str, is_leaf=True, yang_name="mac-address", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='urn:etsi:osm:yang:augments:interface', defining_module='interface', yang_type='string', is_config=True)""",

1122 })

1123

1124 self.__mac_address = t

1125 if hasattr(self, '_set'):

1126 self._set()

1127

1128 def _unset_mac_address(self):

1129 self.__mac_address = YANGDynClass(base=str, is_leaf=True, yang_name="mac-address", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='urn:etsi:osm:yang:augments:interface', defining_module='interface', yang_type='string', is_config=True)

1130

1131

1132 def _get_virtual_interface(self):

1133 """

1134 Getter method for virtual_interface, mapped from YANG variable /vnfd/vdu/int_cpd/virtual_network_interface_requirement/virtual_interface (container)

1135

1136 YANG Description: Container for the virtual interface properties

1137 """

1138 return self.__virtual_interface

1139

1140 def _set_virtual_interface(self, v, load=False):

1141 """

1142 Setter method for virtual_interface, mapped from YANG variable /vnfd/vdu/int_cpd/virtual_network_interface_requirement/virtual_interface (container)

1143 If this variable is read-only (config: false) in the

1144 source YANG file, then _set_virtual_interface is considered as a private

1145 method. Backends looking to populate this variable should

1146 do so via calling thisObj._set_virtual_interface() directly.

1147

1148 YANG Description: Container for the virtual interface properties

1149 """

1150 if hasattr(v, "_utype"):

1151 v = v._utype(v)

1152 try:

1153 t = YANGDynClass(v,base=yc_virtual_interface_etsi_nfv_vnfd__vnfd_vdu_int_cpd_virtual_network_interface_requirement_virtual_interface, is_container='container', yang_name="virtual-interface", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, extensions=None, namespace='urn:etsi:osm:yang:augments:interface', defining_module='interface', yang_type='container', is_config=True)

1154 except (TypeError, ValueError):

1155 raise ValueError({

1156 'error-string': """virtual_interface must be of a type compatible with container""",

1157 'defined-type': "container",

1158 'generated-type': """YANGDynClass(base=yc_virtual_interface_etsi_nfv_vnfd__vnfd_vdu_int_cpd_virtual_network_interface_requirement_virtual_interface, is_container='container', yang_name="virtual-interface", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, extensions=None, namespace='urn:etsi:osm:yang:augments:interface', defining_module='interface', yang_type='container', is_config=True)""",

1159 })

1160

1161 self.__virtual_interface = t

1162 if hasattr(self, '_set'):

1163 self._set()

1164

1165 def _unset_virtual_interface(self):

1166 self.__virtual_interface = YANGDynClass(base=yc_virtual_interface_etsi_nfv_vnfd__vnfd_vdu_int_cpd_virtual_network_interface_requirement_virtual_interface, is_container='container', yang_name="virtual-interface", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, extensions=None, namespace='urn:etsi:osm:yang:augments:interface', defining_module='interface', yang_type='container', is_config=True)

1167

1168 name = __builtin__.property(_get_name, _set_name)

1169 description = __builtin__.property(_get_description, _set_description)

1170 support_mandatory = __builtin__.property(_get_support_mandatory, _set_support_mandatory)

1171 network_interface_requirements = __builtin__.property(_get_network_interface_requirements, _set_network_interface_requirements)

1172 vif_quota = __builtin__.property(_get_vif_quota, _set_vif_quota)

1173 position = __builtin__.property(_get_position, _set_position)

1174 ip_address = __builtin__.property(_get_ip_address, _set_ip_address)

1175 mac_address = __builtin__.property(_get_mac_address, _set_mac_address)

1176 virtual_interface = __builtin__.property(_get_virtual_interface, _set_virtual_interface)

1177

1178

1179 _pyangbind_elements = OrderedDict([('name', name), ('description', description), ('support_mandatory', support_mandatory), ('network_interface_requirements', network_interface_requirements), ('vif_quota', vif_quota), ('position', position), ('ip_address', ip_address), ('mac_address', mac_address), ('virtual_interface', virtual_interface), ])

1180

1181

1182 class yc_l2_address_data_etsi_nfv_vnfd__vnfd_vdu_int_cpd_protocol_address_data_l2_address_data(PybindBase):

1183 """

1184 This class was auto-generated by the PythonClass plugin for PYANG

1185 from YANG module etsi-nfv-vnfd - based on the path /vnfd/vdu/int-cpd/protocol/address-data/l2-address-data. Each member element of

1186 the container is represented as a class variable - with a specific

1187 YANG type.

1188

1189 YANG Description: Provides the information on the MAC addresses to be

1190 assigned to the CP(s) instantiated from the parent CPD.

1191 Shall be present when the addressType is MAC address.

1192 """

1193 __slots__ = ('_path_helper', '_extmethods', '__mac_address_assignment',)

1194

1195 _yang_name = 'l2-address-data'

1196 _yang_namespace = 'urn:etsi:nfv:yang:etsi-nfv-vnfd'

1197

1198 _pybind_generated_by = 'container'

1199

1200 def __init__(self, *args, **kwargs):

1201

1202 self._path_helper = False

1203

1204 self._extmethods = False

1205 self.__mac_address_assignment = YANGDynClass(base=YANGBool, is_leaf=True, yang_name="mac-address-assignment", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='urn:etsi:nfv:yang:etsi-nfv-vnfd', defining_module='etsi-nfv-vnfd', yang_type='boolean', is_config=True)

1206

1207 load = kwargs.pop("load", None)

1208 if args:

1209 if len(args) > 1:

1210 raise TypeError("cannot create a YANG container with >1 argument")

1211 all_attr = True

1212 for e in self._pyangbind_elements:

1213 if not hasattr(args[0], e):

1214 all_attr = False

1215 break

1216 if not all_attr:

1217 raise ValueError("Supplied object did not have the correct attributes")

1218 for e in self._pyangbind_elements:

1219 nobj = getattr(args[0], e)

1220 if nobj._changed() is False:

1221 continue

1222 setmethod = getattr(self, "_set_%s" % e)

1223 if load is None:

1224 setmethod(getattr(args[0], e))

1225 else:

1226 setmethod(getattr(args[0], e), load=load)

1227

1228 def _path(self):

1229 if hasattr(self, "_parent"):

1230 return self._parent._path()+[self._yang_name]

1231 else:

1232 return ['vnfd', 'vdu', 'int-cpd', 'protocol', 'address-data', 'l2-address-data']

1233

1234 def _get_mac_address_assignment(self):

1235 """

1236 Getter method for mac_address_assignment, mapped from YANG variable /vnfd/vdu/int_cpd/protocol/address_data/l2_address_data/mac_address_assignment (boolean)

1237

1238 YANG Description: Specify if the MAC address assignment is the

1239 responsibility of management and orchestration function

1240 or not. If it is set to True, it is the management and

1241 orchestration function responsibility. If it is set to

1242 False, it will be provided by an external entity,

1243 e.g. OSS/BSS.

1244 """

1245 return self.__mac_address_assignment

1246

1247 def _set_mac_address_assignment(self, v, load=False):

1248 """

1249 Setter method for mac_address_assignment, mapped from YANG variable /vnfd/vdu/int_cpd/protocol/address_data/l2_address_data/mac_address_assignment (boolean)

1250 If this variable is read-only (config: false) in the

1251 source YANG file, then _set_mac_address_assignment is considered as a private

1252 method. Backends looking to populate this variable should

1253 do so via calling thisObj._set_mac_address_assignment() directly.

1254

1255 YANG Description: Specify if the MAC address assignment is the

1256 responsibility of management and orchestration function

1257 or not. If it is set to True, it is the management and

1258 orchestration function responsibility. If it is set to

1259 False, it will be provided by an external entity,

1260 e.g. OSS/BSS.

1261 """

1262 if hasattr(v, "_utype"):

1263 v = v._utype(v)

1264 try:

1265 t = YANGDynClass(v,base=YANGBool, is_leaf=True, yang_name="mac-address-assignment", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='urn:etsi:nfv:yang:etsi-nfv-vnfd', defining_module='etsi-nfv-vnfd', yang_type='boolean', is_config=True)

1266 except (TypeError, ValueError):

1267 raise ValueError({

1268 'error-string': """mac_address_assignment must be of a type compatible with boolean""",

1269 'defined-type': "boolean",

1270 'generated-type': """YANGDynClass(base=YANGBool, is_leaf=True, yang_name="mac-address-assignment", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='urn:etsi:nfv:yang:etsi-nfv-vnfd', defining_module='etsi-nfv-vnfd', yang_type='boolean', is_config=True)""",

1271 })

1272

1273 self.__mac_address_assignment = t

1274 if hasattr(self, '_set'):

1275 self._set()

1276

1277 def _unset_mac_address_assignment(self):

1278 self.__mac_address_assignment = YANGDynClass(base=YANGBool, is_leaf=True, yang_name="mac-address-assignment", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='urn:etsi:nfv:yang:etsi-nfv-vnfd', defining_module='etsi-nfv-vnfd', yang_type='boolean', is_config=True)

1279

1280 mac_address_assignment = __builtin__.property(_get_mac_address_assignment, _set_mac_address_assignment)

1281

1282

1283 _pyangbind_elements = OrderedDict([('mac_address_assignment', mac_address_assignment), ])

1284

1285

1286 class yc_l3_address_data_etsi_nfv_vnfd__vnfd_vdu_int_cpd_protocol_address_data_l3_address_data(PybindBase):

1287 """

1288 This class was auto-generated by the PythonClass plugin for PYANG

1289 from YANG module etsi-nfv-vnfd - based on the path /vnfd/vdu/int-cpd/protocol/address-data/l3-address-data. Each member element of

1290 the container is represented as a class variable - with a specific

1291 YANG type.

1292 """

1293 __slots__ = ('_path_helper', '_extmethods', '__ip_address_assignment','__floating_ip_activated','__ip_address_type','__number_of_ip_addresses',)

1294

1295 _yang_name = 'l3-address-data'

1296 _yang_namespace = 'urn:etsi:nfv:yang:etsi-nfv-vnfd'

1297

1298 _pybind_generated_by = 'container'

1299

1300 def __init__(self, *args, **kwargs):

1301

1302 self._path_helper = False

1303

1304 self._extmethods = False

1305 self.__ip_address_assignment = YANGDynClass(base=YANGBool, is_leaf=True, yang_name="ip-address-assignment", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='urn:etsi:nfv:yang:etsi-nfv-vnfd', defining_module='etsi-nfv-vnfd', yang_type='boolean', is_config=True)

1306 self.__floating_ip_activated = YANGDynClass(base=YANGBool, is_leaf=True, yang_name="floating-ip-activated", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='urn:etsi:nfv:yang:etsi-nfv-vnfd', defining_module='etsi-nfv-vnfd', yang_type='boolean', is_config=True)

1307 self.__ip_address_type = YANGDynClass(base=RestrictedClassType(base_type=str, restriction_type="dict_key", restriction_arg={'ipv4': {}, 'ipv6': {}},), is_leaf=True, yang_name="ip-address-type", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='urn:etsi:nfv:yang:etsi-nfv-vnfd', defining_module='etsi-nfv-vnfd', yang_type='enumeration', is_config=True)

1308 self.__number_of_ip_addresses = YANGDynClass(base=RestrictedClassType(base_type=long, restriction_dict={'range': ['0..4294967295']}, int_size=32), is_leaf=True, yang_name="number-of-ip-addresses", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='urn:etsi:nfv:yang:etsi-nfv-vnfd', defining_module='etsi-nfv-vnfd', yang_type='uint32', is_config=True)

1309

1310 load = kwargs.pop("load", None)

1311 if args:

1312 if len(args) > 1:

1313 raise TypeError("cannot create a YANG container with >1 argument")

1314 all_attr = True

1315 for e in self._pyangbind_elements:

1316 if not hasattr(args[0], e):

1317 all_attr = False

1318 break

1319 if not all_attr:

1320 raise ValueError("Supplied object did not have the correct attributes")

1321 for e in self._pyangbind_elements:

1322 nobj = getattr(args[0], e)

1323 if nobj._changed() is False:

1324 continue

1325 setmethod = getattr(self, "_set_%s" % e)

1326 if load is None:

1327 setmethod(getattr(args[0], e))

1328 else:

1329 setmethod(getattr(args[0], e), load=load)

1330

1331 def _path(self):

1332 if hasattr(self, "_parent"):

1333 return self._parent._path()+[self._yang_name]

1334 else:

1335 return ['vnfd', 'vdu', 'int-cpd', 'protocol', 'address-data', 'l3-address-data']

1336

1337 def _get_ip_address_assignment(self):

1338 """

1339 Getter method for ip_address_assignment, mapped from YANG variable /vnfd/vdu/int_cpd/protocol/address_data/l3_address_data/ip_address_assignment (boolean)

1340

1341 YANG Description: Specify if the address assignment is the responsibility

1342 of management and orchestration function or not. If it

1343 is set to True, it is the management and orchestration

1344 function responsibility.

1345 """

1346 return self.__ip_address_assignment

1347

1348 def _set_ip_address_assignment(self, v, load=False):

1349 """

1350 Setter method for ip_address_assignment, mapped from YANG variable /vnfd/vdu/int_cpd/protocol/address_data/l3_address_data/ip_address_assignment (boolean)

1351 If this variable is read-only (config: false) in the

1352 source YANG file, then _set_ip_address_assignment is considered as a private

1353 method. Backends looking to populate this variable should

1354 do so via calling thisObj._set_ip_address_assignment() directly.

1355

1356 YANG Description: Specify if the address assignment is the responsibility

1357 of management and orchestration function or not. If it

1358 is set to True, it is the management and orchestration

1359 function responsibility.

1360 """

1361 if hasattr(v, "_utype"):

1362 v = v._utype(v)

1363 try:

1364 t = YANGDynClass(v,base=YANGBool, is_leaf=True, yang_name="ip-address-assignment", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='urn:etsi:nfv:yang:etsi-nfv-vnfd', defining_module='etsi-nfv-vnfd', yang_type='boolean', is_config=True)

1365 except (TypeError, ValueError):

1366 raise ValueError({

1367 'error-string': """ip_address_assignment must be of a type compatible with boolean""",

1368 'defined-type': "boolean",

1369 'generated-type': """YANGDynClass(base=YANGBool, is_leaf=True, yang_name="ip-address-assignment", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='urn:etsi:nfv:yang:etsi-nfv-vnfd', defining_module='etsi-nfv-vnfd', yang_type='boolean', is_config=True)""",

1370 })

1371

1372 self.__ip_address_assignment = t

1373 if hasattr(self, '_set'):

1374 self._set()

1375

1376 def _unset_ip_address_assignment(self):

1377 self.__ip_address_assignment = YANGDynClass(base=YANGBool, is_leaf=True, yang_name="ip-address-assignment", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='urn:etsi:nfv:yang:etsi-nfv-vnfd', defining_module='etsi-nfv-vnfd', yang_type='boolean', is_config=True)

1378

1379

1380 def _get_floating_ip_activated(self):

1381 """

1382 Getter method for floating_ip_activated, mapped from YANG variable /vnfd/vdu/int_cpd/protocol/address_data/l3_address_data/floating_ip_activated (boolean)

1383

1384 YANG Description: Specify if the floating IP scheme is activated on the CP

1385 or not.

1386 """

1387 return self.__floating_ip_activated

1388

1389 def _set_floating_ip_activated(self, v, load=False):

1390 """

1391 Setter method for floating_ip_activated, mapped from YANG variable /vnfd/vdu/int_cpd/protocol/address_data/l3_address_data/floating_ip_activated (boolean)

1392 If this variable is read-only (config: false) in the

1393 source YANG file, then _set_floating_ip_activated is considered as a private

1394 method. Backends looking to populate this variable should

1395 do so via calling thisObj._set_floating_ip_activated() directly.

1396

1397 YANG Description: Specify if the floating IP scheme is activated on the CP

1398 or not.

1399 """

1400 if hasattr(v, "_utype"):

1401 v = v._utype(v)

1402 try:

1403 t = YANGDynClass(v,base=YANGBool, is_leaf=True, yang_name="floating-ip-activated", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='urn:etsi:nfv:yang:etsi-nfv-vnfd', defining_module='etsi-nfv-vnfd', yang_type='boolean', is_config=True)

1404 except (TypeError, ValueError):

1405 raise ValueError({

1406 'error-string': """floating_ip_activated must be of a type compatible with boolean""",

1407 'defined-type': "boolean",

1408 'generated-type': """YANGDynClass(base=YANGBool, is_leaf=True, yang_name="floating-ip-activated", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='urn:etsi:nfv:yang:etsi-nfv-vnfd', defining_module='etsi-nfv-vnfd', yang_type='boolean', is_config=True)""",

1409 })

1410

1411 self.__floating_ip_activated = t

1412 if hasattr(self, '_set'):

1413 self._set()

1414

1415 def _unset_floating_ip_activated(self):

1416 self.__floating_ip_activated = YANGDynClass(base=YANGBool, is_leaf=True, yang_name="floating-ip-activated", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='urn:etsi:nfv:yang:etsi-nfv-vnfd', defining_module='etsi-nfv-vnfd', yang_type='boolean', is_config=True)

1417

1418

1419 def _get_ip_address_type(self):

1420 """

1421 Getter method for ip_address_type, mapped from YANG variable /vnfd/vdu/int_cpd/protocol/address_data/l3_address_data/ip_address_type (enumeration)

1422

1423 YANG Description: Define address type. The address type should be aligned

1424 with the address type supported by the layerProtocol

1425 attribute of the parent VnfExtCpd.

1426 """

1427 return self.__ip_address_type

1428

1429 def _set_ip_address_type(self, v, load=False):

1430 """

1431 Setter method for ip_address_type, mapped from YANG variable /vnfd/vdu/int_cpd/protocol/address_data/l3_address_data/ip_address_type (enumeration)

1432 If this variable is read-only (config: false) in the

1433 source YANG file, then _set_ip_address_type is considered as a private

1434 method. Backends looking to populate this variable should

1435 do so via calling thisObj._set_ip_address_type() directly.

1436

1437 YANG Description: Define address type. The address type should be aligned

1438 with the address type supported by the layerProtocol

1439 attribute of the parent VnfExtCpd.

1440 """

1441 if hasattr(v, "_utype"):

1442 v = v._utype(v)

1443 try:

1444 t = YANGDynClass(v,base=RestrictedClassType(base_type=str, restriction_type="dict_key", restriction_arg={'ipv4': {}, 'ipv6': {}},), is_leaf=True, yang_name="ip-address-type", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='urn:etsi:nfv:yang:etsi-nfv-vnfd', defining_module='etsi-nfv-vnfd', yang_type='enumeration', is_config=True)

1445 except (TypeError, ValueError):

1446 raise ValueError({

1447 'error-string': """ip_address_type must be of a type compatible with enumeration""",

1448 'defined-type': "etsi-nfv-vnfd:enumeration",

1449 'generated-type': """YANGDynClass(base=RestrictedClassType(base_type=str, restriction_type="dict_key", restriction_arg={'ipv4': {}, 'ipv6': {}},), is_leaf=True, yang_name="ip-address-type", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='urn:etsi:nfv:yang:etsi-nfv-vnfd', defining_module='etsi-nfv-vnfd', yang_type='enumeration', is_config=True)""",

1450 })

1451

1452 self.__ip_address_type = t

1453 if hasattr(self, '_set'):

1454 self._set()

1455

1456 def _unset_ip_address_type(self):

1457 self.__ip_address_type = YANGDynClass(base=RestrictedClassType(base_type=str, restriction_type="dict_key", restriction_arg={'ipv4': {}, 'ipv6': {}},), is_leaf=True, yang_name="ip-address-type", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='urn:etsi:nfv:yang:etsi-nfv-vnfd', defining_module='etsi-nfv-vnfd', yang_type='enumeration', is_config=True)

1458

1459

1460 def _get_number_of_ip_addresses(self):

1461 """

1462 Getter method for number_of_ip_addresses, mapped from YANG variable /vnfd/vdu/int_cpd/protocol/address_data/l3_address_data/number_of_ip_addresses (uint32)

1463

1464 YANG Description: Minimum number of IP addresses to be assigned based on

1465 this L3AddressData information element.

1466 """

1467 return self.__number_of_ip_addresses

1468

1469 def _set_number_of_ip_addresses(self, v, load=False):

1470 """

1471 Setter method for number_of_ip_addresses, mapped from YANG variable /vnfd/vdu/int_cpd/protocol/address_data/l3_address_data/number_of_ip_addresses (uint32)

1472 If this variable is read-only (config: false) in the

1473 source YANG file, then _set_number_of_ip_addresses is considered as a private

1474 method. Backends looking to populate this variable should

1475 do so via calling thisObj._set_number_of_ip_addresses() directly.

1476

1477 YANG Description: Minimum number of IP addresses to be assigned based on

1478 this L3AddressData information element.

1479 """

1480 if hasattr(v, "_utype"):

1481 v = v._utype(v)

1482 try:

1483 t = YANGDynClass(v,base=RestrictedClassType(base_type=long, restriction_dict={'range': ['0..4294967295']}, int_size=32), is_leaf=True, yang_name="number-of-ip-addresses", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='urn:etsi:nfv:yang:etsi-nfv-vnfd', defining_module='etsi-nfv-vnfd', yang_type='uint32', is_config=True)

1484 except (TypeError, ValueError):

1485 raise ValueError({

1486 'error-string': """number_of_ip_addresses must be of a type compatible with uint32""",

1487 'defined-type': "uint32",

1488 'generated-type': """YANGDynClass(base=RestrictedClassType(base_type=long, restriction_dict={'range': ['0..4294967295']}, int_size=32), is_leaf=True, yang_name="number-of-ip-addresses", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='urn:etsi:nfv:yang:etsi-nfv-vnfd', defining_module='etsi-nfv-vnfd', yang_type='uint32', is_config=True)""",

1489 })

1490

1491 self.__number_of_ip_addresses = t

1492 if hasattr(self, '_set'):

1493 self._set()

1494

1495 def _unset_number_of_ip_addresses(self):

1496 self.__number_of_ip_addresses = YANGDynClass(base=RestrictedClassType(base_type=long, restriction_dict={'range': ['0..4294967295']}, int_size=32), is_leaf=True, yang_name="number-of-ip-addresses", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='urn:etsi:nfv:yang:etsi-nfv-vnfd', defining_module='etsi-nfv-vnfd', yang_type='uint32', is_config=True)

1497

1498 ip_address_assignment = __builtin__.property(_get_ip_address_assignment, _set_ip_address_assignment)

1499 floating_ip_activated = __builtin__.property(_get_floating_ip_activated, _set_floating_ip_activated)

1500 ip_address_type = __builtin__.property(_get_ip_address_type, _set_ip_address_type)

1501 number_of_ip_addresses = __builtin__.property(_get_number_of_ip_addresses, _set_number_of_ip_addresses)

1502

1503

1504 _pyangbind_elements = OrderedDict([('ip_address_assignment', ip_address_assignment), ('floating_ip_activated', floating_ip_activated), ('ip_address_type', ip_address_type), ('number_of_ip_addresses', number_of_ip_addresses), ])

1505

1506

1507 class yc_address_data_etsi_nfv_vnfd__vnfd_vdu_int_cpd_protocol_address_data(PybindBase):

1508 """

1509 This class was auto-generated by the PythonClass plugin for PYANG

1510 from YANG module etsi-nfv-vnfd - based on the path /vnfd/vdu/int-cpd/protocol/address-data. Each member element of

1511 the container is represented as a class variable - with a specific

1512 YANG type.

1513

1514 YANG Description: Provides information on the addresses to be assigned to the

1515 CP(s) instantiated from the CPD.

1516 """

1517 __slots__ = ('_path_helper', '_extmethods', '__type','__l2_address_data','__l3_address_data',)

1518

1519 _yang_name = 'address-data'

1520 _yang_namespace = 'urn:etsi:nfv:yang:etsi-nfv-vnfd'

1521

1522 _pybind_generated_by = 'container'

1523

1524 def __init__(self, *args, **kwargs):

1525

1526 self._path_helper = False

1527

1528 self._extmethods = False

1529 self.__type = YANGDynClass(base=RestrictedClassType(base_type=str, restriction_type="dict_key", restriction_arg={'mac-address': {'@module': 'etsi-nfv-descriptors', '@namespace': 'urn:etsi:nfv:yang:etsi-nfv-descriptors'}, 'etsi-nfv-descriptors:mac-address': {'@module': 'etsi-nfv-descriptors', '@namespace': 'urn:etsi:nfv:yang:etsi-nfv-descriptors'}, 'nfv:mac-address': {'@module': 'etsi-nfv-descriptors', '@namespace': 'urn:etsi:nfv:yang:etsi-nfv-descriptors'}, 'descriptors:mac-address': {'@module': 'etsi-nfv-descriptors', '@namespace': 'urn:etsi:nfv:yang:etsi-nfv-descriptors'}, 'vnf:mac-address': {'@module': 'etsi-nfv-descriptors', '@namespace': 'urn:etsi:nfv:yang:etsi-nfv-descriptors'}, 'ip-address': {'@module': 'etsi-nfv-descriptors', '@namespace': 'urn:etsi:nfv:yang:etsi-nfv-descriptors'}, 'etsi-nfv-descriptors:ip-address': {'@module': 'etsi-nfv-descriptors', '@namespace': 'urn:etsi:nfv:yang:etsi-nfv-descriptors'}, 'nfv:ip-address': {'@module': 'etsi-nfv-descriptors', '@namespace': 'urn:etsi:nfv:yang:etsi-nfv-descriptors'}, 'descriptors:ip-address': {'@module': 'etsi-nfv-descriptors', '@namespace': 'urn:etsi:nfv:yang:etsi-nfv-descriptors'}, 'vnf:ip-address': {'@module': 'etsi-nfv-descriptors', '@namespace': 'urn:etsi:nfv:yang:etsi-nfv-descriptors'}},), is_leaf=True, yang_name="type", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, is_keyval=True, namespace='urn:etsi:nfv:yang:etsi-nfv-vnfd', defining_module='etsi-nfv-vnfd', yang_type='identityref', is_config=True)

1530 self.__l2_address_data = YANGDynClass(base=yc_l2_address_data_etsi_nfv_vnfd__vnfd_vdu_int_cpd_protocol_address_data_l2_address_data, is_container='container', yang_name="l2-address-data", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, extensions=None, namespace='urn:etsi:nfv:yang:etsi-nfv-vnfd', defining_module='etsi-nfv-vnfd', yang_type='container', is_config=True)

1531 self.__l3_address_data = YANGDynClass(base=yc_l3_address_data_etsi_nfv_vnfd__vnfd_vdu_int_cpd_protocol_address_data_l3_address_data, is_container='container', yang_name="l3-address-data", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, extensions=None, namespace='urn:etsi:nfv:yang:etsi-nfv-vnfd', defining_module='etsi-nfv-vnfd', yang_type='container', is_config=True)

1532

1533 load = kwargs.pop("load", None)

1534 if args:

1535 if len(args) > 1:

1536 raise TypeError("cannot create a YANG container with >1 argument")

1537 all_attr = True

1538 for e in self._pyangbind_elements:

1539 if not hasattr(args[0], e):

1540 all_attr = False

1541 break

1542 if not all_attr:

1543 raise ValueError("Supplied object did not have the correct attributes")

1544 for e in self._pyangbind_elements:

1545 nobj = getattr(args[0], e)

1546 if nobj._changed() is False:

1547 continue

1548 setmethod = getattr(self, "_set_%s" % e)

1549 if load is None:

1550 setmethod(getattr(args[0], e))

1551 else:

1552 setmethod(getattr(args[0], e), load=load)

1553

1554 def _path(self):

1555 if hasattr(self, "_parent"):

1556 return self._parent._path()+[self._yang_name]

1557 else:

1558 return ['vnfd', 'vdu', 'int-cpd', 'protocol', 'address-data']

1559

1560 def _get_type(self):

1561 """

1562 Getter method for type, mapped from YANG variable /vnfd/vdu/int_cpd/protocol/address_data/type (identityref)

1563

1564 YANG Description: Describes the type of the address to be assigned to the

1565 CP instantiated from the parent CPD.

1566 Value:

1567 • MAC address.

1568 • IP address.

1569 • Etc.

1570 The content type shall be aligned with the address type

1571 supported by the layerProtocol attribute of the parent

1572 CPD.

1573 """

1574 return self.__type

1575

1576 def _set_type(self, v, load=False):

1577 """

1578 Setter method for type, mapped from YANG variable /vnfd/vdu/int_cpd/protocol/address_data/type (identityref)

1579 If this variable is read-only (config: false) in the

1580 source YANG file, then _set_type is considered as a private

1581 method. Backends looking to populate this variable should

1582 do so via calling thisObj._set_type() directly.

1583

1584 YANG Description: Describes the type of the address to be assigned to the

1585 CP instantiated from the parent CPD.

1586 Value:

1587 • MAC address.

1588 • IP address.

1589 • Etc.

1590 The content type shall be aligned with the address type

1591 supported by the layerProtocol attribute of the parent

1592 CPD.

1593 """

1594 parent = getattr(self, "_parent", None)

1595 if parent is not None and load is False:

1596 raise AttributeError("Cannot set keys directly when" +

1597 " within an instantiated list")

1598

1599 if hasattr(v, "_utype"):

1600 v = v._utype(v)

1601 try:

1602 t = YANGDynClass(v,base=RestrictedClassType(base_type=str, restriction_type="dict_key", restriction_arg={'mac-address': {'@module': 'etsi-nfv-descriptors', '@namespace': 'urn:etsi:nfv:yang:etsi-nfv-descriptors'}, 'etsi-nfv-descriptors:mac-address': {'@module': 'etsi-nfv-descriptors', '@namespace': 'urn:etsi:nfv:yang:etsi-nfv-descriptors'}, 'nfv:mac-address': {'@module': 'etsi-nfv-descriptors', '@namespace': 'urn:etsi:nfv:yang:etsi-nfv-descriptors'}, 'descriptors:mac-address': {'@module': 'etsi-nfv-descriptors', '@namespace': 'urn:etsi:nfv:yang:etsi-nfv-descriptors'}, 'vnf:mac-address': {'@module': 'etsi-nfv-descriptors', '@namespace': 'urn:etsi:nfv:yang:etsi-nfv-descriptors'}, 'ip-address': {'@module': 'etsi-nfv-descriptors', '@namespace': 'urn:etsi:nfv:yang:etsi-nfv-descriptors'}, 'etsi-nfv-descriptors:ip-address': {'@module': 'etsi-nfv-descriptors', '@namespace': 'urn:etsi:nfv:yang:etsi-nfv-descriptors'}, 'nfv:ip-address': {'@module': 'etsi-nfv-descriptors', '@namespace': 'urn:etsi:nfv:yang:etsi-nfv-descriptors'}, 'descriptors:ip-address': {'@module': 'etsi-nfv-descriptors', '@namespace': 'urn:etsi:nfv:yang:etsi-nfv-descriptors'}, 'vnf:ip-address': {'@module': 'etsi-nfv-descriptors', '@namespace': 'urn:etsi:nfv:yang:etsi-nfv-descriptors'}},), is_leaf=True, yang_name="type", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, is_keyval=True, namespace='urn:etsi:nfv:yang:etsi-nfv-vnfd', defining_module='etsi-nfv-vnfd', yang_type='identityref', is_config=True)

1603 except (TypeError, ValueError):

1604 raise ValueError({

1605 'error-string': """type must be of a type compatible with identityref""",

1606 'defined-type': "etsi-nfv-vnfd:identityref",

1607 'generated-type': """YANGDynClass(base=RestrictedClassType(base_type=str, restriction_type="dict_key", restriction_arg={'mac-address': {'@module': 'etsi-nfv-descriptors', '@namespace': 'urn:etsi:nfv:yang:etsi-nfv-descriptors'}, 'etsi-nfv-descriptors:mac-address': {'@module': 'etsi-nfv-descriptors', '@namespace': 'urn:etsi:nfv:yang:etsi-nfv-descriptors'}, 'nfv:mac-address': {'@module': 'etsi-nfv-descriptors', '@namespace': 'urn:etsi:nfv:yang:etsi-nfv-descriptors'}, 'descriptors:mac-address': {'@module': 'etsi-nfv-descriptors', '@namespace': 'urn:etsi:nfv:yang:etsi-nfv-descriptors'}, 'vnf:mac-address': {'@module': 'etsi-nfv-descriptors', '@namespace': 'urn:etsi:nfv:yang:etsi-nfv-descriptors'}, 'ip-address': {'@module': 'etsi-nfv-descriptors', '@namespace': 'urn:etsi:nfv:yang:etsi-nfv-descriptors'}, 'etsi-nfv-descriptors:ip-address': {'@module': 'etsi-nfv-descriptors', '@namespace': 'urn:etsi:nfv:yang:etsi-nfv-descriptors'}, 'nfv:ip-address': {'@module': 'etsi-nfv-descriptors', '@namespace': 'urn:etsi:nfv:yang:etsi-nfv-descriptors'}, 'descriptors:ip-address': {'@module': 'etsi-nfv-descriptors', '@namespace': 'urn:etsi:nfv:yang:etsi-nfv-descriptors'}, 'vnf:ip-address': {'@module': 'etsi-nfv-descriptors', '@namespace': 'urn:etsi:nfv:yang:etsi-nfv-descriptors'}},), is_leaf=True, yang_name="type", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, is_keyval=True, namespace='urn:etsi:nfv:yang:etsi-nfv-vnfd', defining_module='etsi-nfv-vnfd', yang_type='identityref', is_config=True)""",

1608 })

1609

1610 self.__type = t

1611 if hasattr(self, '_set'):

1612 self._set()

1613

1614 def _unset_type(self):

1615 self.__type = YANGDynClass(base=RestrictedClassType(base_type=str, restriction_type="dict_key", restriction_arg={'mac-address': {'@module': 'etsi-nfv-descriptors', '@namespace': 'urn:etsi:nfv:yang:etsi-nfv-descriptors'}, 'etsi-nfv-descriptors:mac-address': {'@module': 'etsi-nfv-descriptors', '@namespace': 'urn:etsi:nfv:yang:etsi-nfv-descriptors'}, 'nfv:mac-address': {'@module': 'etsi-nfv-descriptors', '@namespace': 'urn:etsi:nfv:yang:etsi-nfv-descriptors'}, 'descriptors:mac-address': {'@module': 'etsi-nfv-descriptors', '@namespace': 'urn:etsi:nfv:yang:etsi-nfv-descriptors'}, 'vnf:mac-address': {'@module': 'etsi-nfv-descriptors', '@namespace': 'urn:etsi:nfv:yang:etsi-nfv-descriptors'}, 'ip-address': {'@module': 'etsi-nfv-descriptors', '@namespace': 'urn:etsi:nfv:yang:etsi-nfv-descriptors'}, 'etsi-nfv-descriptors:ip-address': {'@module': 'etsi-nfv-descriptors', '@namespace': 'urn:etsi:nfv:yang:etsi-nfv-descriptors'}, 'nfv:ip-address': {'@module': 'etsi-nfv-descriptors', '@namespace': 'urn:etsi:nfv:yang:etsi-nfv-descriptors'}, 'descriptors:ip-address': {'@module': 'etsi-nfv-descriptors', '@namespace': 'urn:etsi:nfv:yang:etsi-nfv-descriptors'}, 'vnf:ip-address': {'@module': 'etsi-nfv-descriptors', '@namespace': 'urn:etsi:nfv:yang:etsi-nfv-descriptors'}},), is_leaf=True, yang_name="type", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, is_keyval=True, namespace='urn:etsi:nfv:yang:etsi-nfv-vnfd', defining_module='etsi-nfv-vnfd', yang_type='identityref', is_config=True)

1616

1617

1618 def _get_l2_address_data(self):

1619 """

1620 Getter method for l2_address_data, mapped from YANG variable /vnfd/vdu/int_cpd/protocol/address_data/l2_address_data (container)

1621

1622 YANG Description: Provides the information on the MAC addresses to be

1623 assigned to the CP(s) instantiated from the parent CPD.

1624 Shall be present when the addressType is MAC address.

1625 """

1626 return self.__l2_address_data

1627

1628 def _set_l2_address_data(self, v, load=False):

1629 """

1630 Setter method for l2_address_data, mapped from YANG variable /vnfd/vdu/int_cpd/protocol/address_data/l2_address_data (container)

1631 If this variable is read-only (config: false) in the

1632 source YANG file, then _set_l2_address_data is considered as a private

1633 method. Backends looking to populate this variable should

1634 do so via calling thisObj._set_l2_address_data() directly.

1635

1636 YANG Description: Provides the information on the MAC addresses to be

1637 assigned to the CP(s) instantiated from the parent CPD.

1638 Shall be present when the addressType is MAC address.

1639 """

1640 if hasattr(v, "_utype"):

1641 v = v._utype(v)

1642 try:

1643 t = YANGDynClass(v,base=yc_l2_address_data_etsi_nfv_vnfd__vnfd_vdu_int_cpd_protocol_address_data_l2_address_data, is_container='container', yang_name="l2-address-data", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, extensions=None, namespace='urn:etsi:nfv:yang:etsi-nfv-vnfd', defining_module='etsi-nfv-vnfd', yang_type='container', is_config=True)

1644 except (TypeError, ValueError):

1645 raise ValueError({

1646 'error-string': """l2_address_data must be of a type compatible with container""",

1647 'defined-type': "container",

1648 'generated-type': """YANGDynClass(base=yc_l2_address_data_etsi_nfv_vnfd__vnfd_vdu_int_cpd_protocol_address_data_l2_address_data, is_container='container', yang_name="l2-address-data", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, extensions=None, namespace='urn:etsi:nfv:yang:etsi-nfv-vnfd', defining_module='etsi-nfv-vnfd', yang_type='container', is_config=True)""",

1649 })

1650

1651 self.__l2_address_data = t

1652 if hasattr(self, '_set'):

1653 self._set()

1654

1655 def _unset_l2_address_data(self):

1656 self.__l2_address_data = YANGDynClass(base=yc_l2_address_data_etsi_nfv_vnfd__vnfd_vdu_int_cpd_protocol_address_data_l2_address_data, is_container='container', yang_name="l2-address-data", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, extensions=None, namespace='urn:etsi:nfv:yang:etsi-nfv-vnfd', defining_module='etsi-nfv-vnfd', yang_type='container', is_config=True)

1657

1658

1659 def _get_l3_address_data(self):

1660 """

1661 Getter method for l3_address_data, mapped from YANG variable /vnfd/vdu/int_cpd/protocol/address_data/l3_address_data (container)

1662 """

1663 return self.__l3_address_data

1664

1665 def _set_l3_address_data(self, v, load=False):

1666 """

1667 Setter method for l3_address_data, mapped from YANG variable /vnfd/vdu/int_cpd/protocol/address_data/l3_address_data (container)

1668 If this variable is read-only (config: false) in the

1669 source YANG file, then _set_l3_address_data is considered as a private

1670 method. Backends looking to populate this variable should

1671 do so via calling thisObj._set_l3_address_data() directly.

1672 """

1673 if hasattr(v, "_utype"):

1674 v = v._utype(v)

1675 try:

1676 t = YANGDynClass(v,base=yc_l3_address_data_etsi_nfv_vnfd__vnfd_vdu_int_cpd_protocol_address_data_l3_address_data, is_container='container', yang_name="l3-address-data", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, extensions=None, namespace='urn:etsi:nfv:yang:etsi-nfv-vnfd', defining_module='etsi-nfv-vnfd', yang_type='container', is_config=True)

1677 except (TypeError, ValueError):

1678 raise ValueError({

1679 'error-string': """l3_address_data must be of a type compatible with container""",

1680 'defined-type': "container",

1681 'generated-type': """YANGDynClass(base=yc_l3_address_data_etsi_nfv_vnfd__vnfd_vdu_int_cpd_protocol_address_data_l3_address_data, is_container='container', yang_name="l3-address-data", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, extensions=None, namespace='urn:etsi:nfv:yang:etsi-nfv-vnfd', defining_module='etsi-nfv-vnfd', yang_type='container', is_config=True)""",

1682 })

1683

1684 self.__l3_address_data = t

1685 if hasattr(self, '_set'):

1686 self._set()

1687

1688 def _unset_l3_address_data(self):

1689 self.__l3_address_data = YANGDynClass(base=yc_l3_address_data_etsi_nfv_vnfd__vnfd_vdu_int_cpd_protocol_address_data_l3_address_data, is_container='container', yang_name="l3-address-data", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, extensions=None, namespace='urn:etsi:nfv:yang:etsi-nfv-vnfd', defining_module='etsi-nfv-vnfd', yang_type='container', is_config=True)

1690

1691 type = __builtin__.property(_get_type, _set_type)

1692 l2_address_data = __builtin__.property(_get_l2_address_data, _set_l2_address_data)

1693 l3_address_data = __builtin__.property(_get_l3_address_data, _set_l3_address_data)

1694

1695

1696 _pyangbind_elements = OrderedDict([('type', type), ('l2_address_data', l2_address_data), ('l3_address_data', l3_address_data), ])

1697

1698

1699 class yc_protocol_etsi_nfv_vnfd__vnfd_vdu_int_cpd_protocol(PybindBase):

1700 """

1701 This class was auto-generated by the PythonClass plugin for PYANG

1702 from YANG module etsi-nfv-vnfd - based on the path /vnfd/vdu/int-cpd/protocol. Each member element of

1703 the container is represented as a class variable - with a specific

1704 YANG type.

1705

1706 YANG Description: Identifies the protocol layering information the CP uses for

1707 connectivity purposes and associated information. There shall

1708 be one cpProtocol for each layer protocol as indicated by the

1709 attribute layerProtocol. When a PnfExtCpd as defined in ETSI

1710 GS NFV-IFA 014 [i.8] is inherited from this Cpd, the

1711 cardinality is set to 0.

1712 """

1713 __slots__ = ('_path_helper', '_extmethods', '__associated_layer_protocol','__address_data',)

1714

1715 _yang_name = 'protocol'

1716 _yang_namespace = 'urn:etsi:nfv:yang:etsi-nfv-vnfd'

1717

1718 _pybind_generated_by = 'container'

1719

1720 def __init__(self, *args, **kwargs):

1721

1722 self._path_helper = False

1723

1724 self._extmethods = False

1725 self.__associated_layer_protocol = YANGDynClass(base=RestrictedClassType(base_type=str, restriction_type="dict_key", restriction_arg={'ethernet': {'@module': 'etsi-nfv-descriptors', '@namespace': 'urn:etsi:nfv:yang:etsi-nfv-descriptors'}, 'etsi-nfv-descriptors:ethernet': {'@module': 'etsi-nfv-descriptors', '@namespace': 'urn:etsi:nfv:yang:etsi-nfv-descriptors'}, 'nfv:ethernet': {'@module': 'etsi-nfv-descriptors', '@namespace': 'urn:etsi:nfv:yang:etsi-nfv-descriptors'}, 'descriptors:ethernet': {'@module': 'etsi-nfv-descriptors', '@namespace': 'urn:etsi:nfv:yang:etsi-nfv-descriptors'}, 'vnf:ethernet': {'@module': 'etsi-nfv-descriptors', '@namespace': 'urn:etsi:nfv:yang:etsi-nfv-descriptors'}, 'mpls': {'@module': 'etsi-nfv-descriptors', '@namespace': 'urn:etsi:nfv:yang:etsi-nfv-descriptors'}, 'etsi-nfv-descriptors:mpls': {'@module': 'etsi-nfv-descriptors', '@namespace': 'urn:etsi:nfv:yang:etsi-nfv-descriptors'}, 'nfv:mpls': {'@module': 'etsi-nfv-descriptors', '@namespace': 'urn:etsi:nfv:yang:etsi-nfv-descriptors'}, 'descriptors:mpls': {'@module': 'etsi-nfv-descriptors', '@namespace': 'urn:etsi:nfv:yang:etsi-nfv-descriptors'}, 'vnf:mpls': {'@module': 'etsi-nfv-descriptors', '@namespace': 'urn:etsi:nfv:yang:etsi-nfv-descriptors'}, 'odu2': {'@module': 'etsi-nfv-descriptors', '@namespace': 'urn:etsi:nfv:yang:etsi-nfv-descriptors'}, 'etsi-nfv-descriptors:odu2': {'@module': 'etsi-nfv-descriptors', '@namespace': 'urn:etsi:nfv:yang:etsi-nfv-descriptors'}, 'nfv:odu2': {'@module': 'etsi-nfv-descriptors', '@namespace': 'urn:etsi:nfv:yang:etsi-nfv-descriptors'}, 'descriptors:odu2': {'@module': 'etsi-nfv-descriptors', '@namespace': 'urn:etsi:nfv:yang:etsi-nfv-descriptors'}, 'vnf:odu2': {'@module': 'etsi-nfv-descriptors', '@namespace': 'urn:etsi:nfv:yang:etsi-nfv-descriptors'}, 'ipv4': {'@module': 'etsi-nfv-descriptors', '@namespace': 'urn:etsi:nfv:yang:etsi-nfv-descriptors'}, 'etsi-nfv-descriptors:ipv4': {'@module': 'etsi-nfv-descriptors', '@namespace': 'urn:etsi:nfv:yang:etsi-nfv-descriptors'}, 'nfv:ipv4': {'@module': 'etsi-nfv-descriptors', '@namespace': 'urn:etsi:nfv:yang:etsi-nfv-descriptors'}, 'descriptors:ipv4': {'@module': 'etsi-nfv-descriptors', '@namespace': 'urn:etsi:nfv:yang:etsi-nfv-descriptors'}, 'vnf:ipv4': {'@module': 'etsi-nfv-descriptors', '@namespace': 'urn:etsi:nfv:yang:etsi-nfv-descriptors'}, 'ipv6': {'@module': 'etsi-nfv-descriptors', '@namespace': 'urn:etsi:nfv:yang:etsi-nfv-descriptors'}, 'etsi-nfv-descriptors:ipv6': {'@module': 'etsi-nfv-descriptors', '@namespace': 'urn:etsi:nfv:yang:etsi-nfv-descriptors'}, 'nfv:ipv6': {'@module': 'etsi-nfv-descriptors', '@namespace': 'urn:etsi:nfv:yang:etsi-nfv-descriptors'}, 'descriptors:ipv6': {'@module': 'etsi-nfv-descriptors', '@namespace': 'urn:etsi:nfv:yang:etsi-nfv-descriptors'}, 'vnf:ipv6': {'@module': 'etsi-nfv-descriptors', '@namespace': 'urn:etsi:nfv:yang:etsi-nfv-descriptors'}, 'pseudo-wire': {'@module': 'etsi-nfv-descriptors', '@namespace': 'urn:etsi:nfv:yang:etsi-nfv-descriptors'}, 'etsi-nfv-descriptors:pseudo-wire': {'@module': 'etsi-nfv-descriptors', '@namespace': 'urn:etsi:nfv:yang:etsi-nfv-descriptors'}, 'nfv:pseudo-wire': {'@module': 'etsi-nfv-descriptors', '@namespace': 'urn:etsi:nfv:yang:etsi-nfv-descriptors'}, 'descriptors:pseudo-wire': {'@module': 'etsi-nfv-descriptors', '@namespace': 'urn:etsi:nfv:yang:etsi-nfv-descriptors'}, 'vnf:pseudo-wire': {'@module': 'etsi-nfv-descriptors', '@namespace': 'urn:etsi:nfv:yang:etsi-nfv-descriptors'}},), is_leaf=True, yang_name="associated-layer-protocol", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, is_keyval=True, namespace='urn:etsi:nfv:yang:etsi-nfv-vnfd', defining_module='etsi-nfv-vnfd', yang_type='identityref', is_config=True)

1726 self.__address_data = YANGDynClass(base=YANGListType("type",yc_address_data_etsi_nfv_vnfd__vnfd_vdu_int_cpd_protocol_address_data, yang_name="address-data", parent=self, is_container='list', user_ordered=False, path_helper=self._path_helper, yang_keys='type', extensions=None), is_container='list', yang_name="address-data", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, extensions=None, namespace='urn:etsi:nfv:yang:etsi-nfv-vnfd', defining_module='etsi-nfv-vnfd', yang_type='list', is_config=True)

1727

1728 load = kwargs.pop("load", None)

1729 if args:

1730 if len(args) > 1:

1731 raise TypeError("cannot create a YANG container with >1 argument")

1732 all_attr = True

1733 for e in self._pyangbind_elements:

1734 if not hasattr(args[0], e):

1735 all_attr = False

1736 break

1737 if not all_attr:

1738 raise ValueError("Supplied object did not have the correct attributes")

1739 for e in self._pyangbind_elements:

1740 nobj = getattr(args[0], e)

1741 if nobj._changed() is False:

1742 continue

1743 setmethod = getattr(self, "_set_%s" % e)

1744 if load is None:

1745 setmethod(getattr(args[0], e))

1746 else:

1747 setmethod(getattr(args[0], e), load=load)

1748

1749 def _path(self):

1750 if hasattr(self, "_parent"):

1751 return self._parent._path()+[self._yang_name]

1752 else:

1753 return ['vnfd', 'vdu', 'int-cpd', 'protocol']

1754

1755 def _get_associated_layer_protocol(self):

1756 """

1757 Getter method for associated_layer_protocol, mapped from YANG variable /vnfd/vdu/int_cpd/protocol/associated_layer_protocol (identityref)

1758

1759 YANG Description: One of the values of the attribute layerProtocol of the Cpd

1760 IE.

1761 """

1762 return self.__associated_layer_protocol

1763

1764 def _set_associated_layer_protocol(self, v, load=False):

1765 """

1766 Setter method for associated_layer_protocol, mapped from YANG variable /vnfd/vdu/int_cpd/protocol/associated_layer_protocol (identityref)

1767 If this variable is read-only (config: false) in the

1768 source YANG file, then _set_associated_layer_protocol is considered as a private

1769 method. Backends looking to populate this variable should

1770 do so via calling thisObj._set_associated_layer_protocol() directly.

1771

1772 YANG Description: One of the values of the attribute layerProtocol of the Cpd

1773 IE.

1774 """

1775 parent = getattr(self, "_parent", None)

1776 if parent is not None and load is False:

1777 raise AttributeError("Cannot set keys directly when" +

1778 " within an instantiated list")

1779

1780 if hasattr(v, "_utype"):

1781 v = v._utype(v)

1782 try:

1783 t = YANGDynClass(v,base=RestrictedClassType(base_type=str, restriction_type="dict_key", restriction_arg={'ethernet': {'@module': 'etsi-nfv-descriptors', '@namespace': 'urn:etsi:nfv:yang:etsi-nfv-descriptors'}, 'etsi-nfv-descriptors:ethernet': {'@module': 'etsi-nfv-descriptors', '@namespace': 'urn:etsi:nfv:yang:etsi-nfv-descriptors'}, 'nfv:ethernet': {'@module': 'etsi-nfv-descriptors', '@namespace': 'urn:etsi:nfv:yang:etsi-nfv-descriptors'}, 'descriptors:ethernet': {'@module': 'etsi-nfv-descriptors', '@namespace': 'urn:etsi:nfv:yang:etsi-nfv-descriptors'}, 'vnf:ethernet': {'@module': 'etsi-nfv-descriptors', '@namespace': 'urn:etsi:nfv:yang:etsi-nfv-descriptors'}, 'mpls': {'@module': 'etsi-nfv-descriptors', '@namespace': 'urn:etsi:nfv:yang:etsi-nfv-descriptors'}, 'etsi-nfv-descriptors:mpls': {'@module': 'etsi-nfv-descriptors', '@namespace': 'urn:etsi:nfv:yang:etsi-nfv-descriptors'}, 'nfv:mpls': {'@module': 'etsi-nfv-descriptors', '@namespace': 'urn:etsi:nfv:yang:etsi-nfv-descriptors'}, 'descriptors:mpls': {'@module': 'etsi-nfv-descriptors', '@namespace': 'urn:etsi:nfv:yang:etsi-nfv-descriptors'}, 'vnf:mpls': {'@module': 'etsi-nfv-descriptors', '@namespace': 'urn:etsi:nfv:yang:etsi-nfv-descriptors'}, 'odu2': {'@module': 'etsi-nfv-descriptors', '@namespace': 'urn:etsi:nfv:yang:etsi-nfv-descriptors'}, 'etsi-nfv-descriptors:odu2': {'@module': 'etsi-nfv-descriptors', '@namespace': 'urn:etsi:nfv:yang:etsi-nfv-descriptors'}, 'nfv:odu2': {'@module': 'etsi-nfv-descriptors', '@namespace': 'urn:etsi:nfv:yang:etsi-nfv-descriptors'}, 'descriptors:odu2': {'@module': 'etsi-nfv-descriptors', '@namespace': 'urn:etsi:nfv:yang:etsi-nfv-descriptors'}, 'vnf:odu2': {'@module': 'etsi-nfv-descriptors', '@namespace': 'urn:etsi:nfv:yang:etsi-nfv-descriptors'}, 'ipv4': {'@module': 'etsi-nfv-descriptors', '@namespace': 'urn:etsi:nfv:yang:etsi-nfv-descriptors'}, 'etsi-nfv-descriptors:ipv4': {'@module': 'etsi-nfv-descriptors', '@namespace': 'urn:etsi:nfv:yang:etsi-nfv-descriptors'}, 'nfv:ipv4': {'@module': 'etsi-nfv-descriptors', '@namespace': 'urn:etsi:nfv:yang:etsi-nfv-descriptors'}, 'descriptors:ipv4': {'@module': 'etsi-nfv-descriptors', '@namespace': 'urn:etsi:nfv:yang:etsi-nfv-descriptors'}, 'vnf:ipv4': {'@module': 'etsi-nfv-descriptors', '@namespace': 'urn:etsi:nfv:yang:etsi-nfv-descriptors'}, 'ipv6': {'@module': 'etsi-nfv-descriptors', '@namespace': 'urn:etsi:nfv:yang:etsi-nfv-descriptors'}, 'etsi-nfv-descriptors:ipv6': {'@module': 'etsi-nfv-descriptors', '@namespace': 'urn:etsi:nfv:yang:etsi-nfv-descriptors'}, 'nfv:ipv6': {'@module': 'etsi-nfv-descriptors', '@namespace': 'urn:etsi:nfv:yang:etsi-nfv-descriptors'}, 'descriptors:ipv6': {'@module': 'etsi-nfv-descriptors', '@namespace': 'urn:etsi:nfv:yang:etsi-nfv-descriptors'}, 'vnf:ipv6': {'@module': 'etsi-nfv-descriptors', '@namespace': 'urn:etsi:nfv:yang:etsi-nfv-descriptors'}, 'pseudo-wire': {'@module': 'etsi-nfv-descriptors', '@namespace': 'urn:etsi:nfv:yang:etsi-nfv-descriptors'}, 'etsi-nfv-descriptors:pseudo-wire': {'@module': 'etsi-nfv-descriptors', '@namespace': 'urn:etsi:nfv:yang:etsi-nfv-descriptors'}, 'nfv:pseudo-wire': {'@module': 'etsi-nfv-descriptors', '@namespace': 'urn:etsi:nfv:yang:etsi-nfv-descriptors'}, 'descriptors:pseudo-wire': {'@module': 'etsi-nfv-descriptors', '@namespace': 'urn:etsi:nfv:yang:etsi-nfv-descriptors'}, 'vnf:pseudo-wire': {'@module': 'etsi-nfv-descriptors', '@namespace': 'urn:etsi:nfv:yang:etsi-nfv-descriptors'}},), is_leaf=True, yang_name="associated-layer-protocol", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, is_keyval=True, namespace='urn:etsi:nfv:yang:etsi-nfv-vnfd', defining_module='etsi-nfv-vnfd', yang_type='identityref', is_config=True)

1784 except (TypeError, ValueError):

1785 raise ValueError({

1786 'error-string': """associated_layer_protocol must be of a type compatible with identityref""",

1787 'defined-type': "etsi-nfv-vnfd:identityref",

1788 'generated-type': """YANGDynClass(base=RestrictedClassType(base_type=str, restriction_type="dict_key", restriction_arg={'ethernet': {'@module': 'etsi-nfv-descriptors', '@namespace': 'urn:etsi:nfv:yang:etsi-nfv-descriptors'}, 'etsi-nfv-descriptors:ethernet': {'@module': 'etsi-nfv-descriptors', '@namespace': 'urn:etsi:nfv:yang:etsi-nfv-descriptors'}, 'nfv:ethernet': {'@module': 'etsi-nfv-descriptors', '@namespace': 'urn:etsi:nfv:yang:etsi-nfv-descriptors'}, 'descriptors:ethernet': {'@module': 'etsi-nfv-descriptors', '@namespace': 'urn:etsi:nfv:yang:etsi-nfv-descriptors'}, 'vnf:ethernet': {'@module': 'etsi-nfv-descriptors', '@namespace': 'urn:etsi:nfv:yang:etsi-nfv-descriptors'}, 'mpls': {'@module': 'etsi-nfv-descriptors', '@namespace': 'urn:etsi:nfv:yang:etsi-nfv-descriptors'}, 'etsi-nfv-descriptors:mpls': {'@module': 'etsi-nfv-descriptors', '@namespace': 'urn:etsi:nfv:yang:etsi-nfv-descriptors'}, 'nfv:mpls': {'@module': 'etsi-nfv-descriptors', '@namespace': 'urn:etsi:nfv:yang:etsi-nfv-descriptors'}, 'descriptors:mpls': {'@module': 'etsi-nfv-descriptors', '@namespace': 'urn:etsi:nfv:yang:etsi-nfv-descriptors'}, 'vnf:mpls': {'@module': 'etsi-nfv-descriptors', '@namespace': 'urn:etsi:nfv:yang:etsi-nfv-descriptors'}, 'odu2': {'@module': 'etsi-nfv-descriptors', '@namespace': 'urn:etsi:nfv:yang:etsi-nfv-descriptors'}, 'etsi-nfv-descriptors:odu2': {'@module': 'etsi-nfv-descriptors', '@namespace': 'urn:etsi:nfv:yang:etsi-nfv-descriptors'}, 'nfv:odu2': {'@module': 'etsi-nfv-descriptors', '@namespace': 'urn:etsi:nfv:yang:etsi-nfv-descriptors'}, 'descriptors:odu2': {'@module': 'etsi-nfv-descriptors', '@namespace': 'urn:etsi:nfv:yang:etsi-nfv-descriptors'}, 'vnf:odu2': {'@module': 'etsi-nfv-descriptors', '@namespace': 'urn:etsi:nfv:yang:etsi-nfv-descriptors'}, 'ipv4': {'@module': 'etsi-nfv-descriptors', '@namespace': 'urn:etsi:nfv:yang:etsi-nfv-descriptors'}, 'etsi-nfv-descriptors:ipv4': {'@module': 'etsi-nfv-descriptors', '@namespace': 'urn:etsi:nfv:yang:etsi-nfv-descriptors'}, 'nfv:ipv4': {'@module': 'etsi-nfv-descriptors', '@namespace': 'urn:etsi:nfv:yang:etsi-nfv-descriptors'}, 'descriptors:ipv4': {'@module': 'etsi-nfv-descriptors', '@namespace': 'urn:etsi:nfv:yang:etsi-nfv-descriptors'}, 'vnf:ipv4': {'@module': 'etsi-nfv-descriptors', '@namespace': 'urn:etsi:nfv:yang:etsi-nfv-descriptors'}, 'ipv6': {'@module': 'etsi-nfv-descriptors', '@namespace': 'urn:etsi:nfv:yang:etsi-nfv-descriptors'}, 'etsi-nfv-descriptors:ipv6': {'@module': 'etsi-nfv-descriptors', '@namespace': 'urn:etsi:nfv:yang:etsi-nfv-descriptors'}, 'nfv:ipv6': {'@module': 'etsi-nfv-descriptors', '@namespace': 'urn:etsi:nfv:yang:etsi-nfv-descriptors'}, 'descriptors:ipv6': {'@module': 'etsi-nfv-descriptors', '@namespace': 'urn:etsi:nfv:yang:etsi-nfv-descriptors'}, 'vnf:ipv6': {'@module': 'etsi-nfv-descriptors', '@namespace': 'urn:etsi:nfv:yang:etsi-nfv-descriptors'}, 'pseudo-wire': {'@module': 'etsi-nfv-descriptors', '@namespace': 'urn:etsi:nfv:yang:etsi-nfv-descriptors'}, 'etsi-nfv-descriptors:pseudo-wire': {'@module': 'etsi-nfv-descriptors', '@namespace': 'urn:etsi:nfv:yang:etsi-nfv-descriptors'}, 'nfv:pseudo-wire': {'@module': 'etsi-nfv-descriptors', '@namespace': 'urn:etsi:nfv:yang:etsi-nfv-descriptors'}, 'descriptors:pseudo-wire': {'@module': 'etsi-nfv-descriptors', '@namespace': 'urn:etsi:nfv:yang:etsi-nfv-descriptors'}, 'vnf:pseudo-wire': {'@module': 'etsi-nfv-descriptors', '@namespace': 'urn:etsi:nfv:yang:etsi-nfv-descriptors'}},), is_leaf=True, yang_name="associated-layer-protocol", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, is_keyval=True, namespace='urn:etsi:nfv:yang:etsi-nfv-vnfd', defining_module='etsi-nfv-vnfd', yang_type='identityref', is_config=True)""",

1789 })

1790

1791 self.__associated_layer_protocol = t

1792 if hasattr(self, '_set'):

1793 self._set()

1794

1795 def _unset_associated_layer_protocol(self):

1796 self.__associated_layer_protocol = YANGDynClass(base=RestrictedClassType(base_type=str, restriction_type="dict_key", restriction_arg={'ethernet': {'@module': 'etsi-nfv-descriptors', '@namespace': 'urn:etsi:nfv:yang:etsi-nfv-descriptors'}, 'etsi-nfv-descriptors:ethernet': {'@module': 'etsi-nfv-descriptors', '@namespace': 'urn:etsi:nfv:yang:etsi-nfv-descriptors'}, 'nfv:ethernet': {'@module': 'etsi-nfv-descriptors', '@namespace': 'urn:etsi:nfv:yang:etsi-nfv-descriptors'}, 'descriptors:ethernet': {'@module': 'etsi-nfv-descriptors', '@namespace': 'urn:etsi:nfv:yang:etsi-nfv-descriptors'}, 'vnf:ethernet': {'@module': 'etsi-nfv-descriptors', '@namespace': 'urn:etsi:nfv:yang:etsi-nfv-descriptors'}, 'mpls': {'@module': 'etsi-nfv-descriptors', '@namespace': 'urn:etsi:nfv:yang:etsi-nfv-descriptors'}, 'etsi-nfv-descriptors:mpls': {'@module': 'etsi-nfv-descriptors', '@namespace': 'urn:etsi:nfv:yang:etsi-nfv-descriptors'}, 'nfv:mpls': {'@module': 'etsi-nfv-descriptors', '@namespace': 'urn:etsi:nfv:yang:etsi-nfv-descriptors'}, 'descriptors:mpls': {'@module': 'etsi-nfv-descriptors', '@namespace': 'urn:etsi:nfv:yang:etsi-nfv-descriptors'}, 'vnf:mpls': {'@module': 'etsi-nfv-descriptors', '@namespace': 'urn:etsi:nfv:yang:etsi-nfv-descriptors'}, 'odu2': {'@module': 'etsi-nfv-descriptors', '@namespace': 'urn:etsi:nfv:yang:etsi-nfv-descriptors'}, 'etsi-nfv-descriptors:odu2': {'@module': 'etsi-nfv-descriptors', '@namespace': 'urn:etsi:nfv:yang:etsi-nfv-descriptors'}, 'nfv:odu2': {'@module': 'etsi-nfv-descriptors', '@namespace': 'urn:etsi:nfv:yang:etsi-nfv-descriptors'}, 'descriptors:odu2': {'@module': 'etsi-nfv-descriptors', '@namespace': 'urn:etsi:nfv:yang:etsi-nfv-descriptors'}, 'vnf:odu2': {'@module': 'etsi-nfv-descriptors', '@namespace': 'urn:etsi:nfv:yang:etsi-nfv-descriptors'}, 'ipv4': {'@module': 'etsi-nfv-descriptors', '@namespace': 'urn:etsi:nfv:yang:etsi-nfv-descriptors'}, 'etsi-nfv-descriptors:ipv4': {'@module': 'etsi-nfv-descriptors', '@namespace': 'urn:etsi:nfv:yang:etsi-nfv-descriptors'}, 'nfv:ipv4': {'@module': 'etsi-nfv-descriptors', '@namespace': 'urn:etsi:nfv:yang:etsi-nfv-descriptors'}, 'descriptors:ipv4': {'@module': 'etsi-nfv-descriptors', '@namespace': 'urn:etsi:nfv:yang:etsi-nfv-descriptors'}, 'vnf:ipv4': {'@module': 'etsi-nfv-descriptors', '@namespace': 'urn:etsi:nfv:yang:etsi-nfv-descriptors'}, 'ipv6': {'@module': 'etsi-nfv-descriptors', '@namespace': 'urn:etsi:nfv:yang:etsi-nfv-descriptors'}, 'etsi-nfv-descriptors:ipv6': {'@module': 'etsi-nfv-descriptors', '@namespace': 'urn:etsi:nfv:yang:etsi-nfv-descriptors'}, 'nfv:ipv6': {'@module': 'etsi-nfv-descriptors', '@namespace': 'urn:etsi:nfv:yang:etsi-nfv-descriptors'}, 'descriptors:ipv6': {'@module': 'etsi-nfv-descriptors', '@namespace': 'urn:etsi:nfv:yang:etsi-nfv-descriptors'}, 'vnf:ipv6': {'@module': 'etsi-nfv-descriptors', '@namespace': 'urn:etsi:nfv:yang:etsi-nfv-descriptors'}, 'pseudo-wire': {'@module': 'etsi-nfv-descriptors', '@namespace': 'urn:etsi:nfv:yang:etsi-nfv-descriptors'}, 'etsi-nfv-descriptors:pseudo-wire': {'@module': 'etsi-nfv-descriptors', '@namespace': 'urn:etsi:nfv:yang:etsi-nfv-descriptors'}, 'nfv:pseudo-wire': {'@module': 'etsi-nfv-descriptors', '@namespace': 'urn:etsi:nfv:yang:etsi-nfv-descriptors'}, 'descriptors:pseudo-wire': {'@module': 'etsi-nfv-descriptors', '@namespace': 'urn:etsi:nfv:yang:etsi-nfv-descriptors'}, 'vnf:pseudo-wire': {'@module': 'etsi-nfv-descriptors', '@namespace': 'urn:etsi:nfv:yang:etsi-nfv-descriptors'}},), is_leaf=True, yang_name="associated-layer-protocol", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, is_keyval=True, namespace='urn:etsi:nfv:yang:etsi-nfv-vnfd', defining_module='etsi-nfv-vnfd', yang_type='identityref', is_config=True)

1797

1798

1799 def _get_address_data(self):

1800 """

1801 Getter method for address_data, mapped from YANG variable /vnfd/vdu/int_cpd/protocol/address_data (list)

1802

1803 YANG Description: Provides information on the addresses to be assigned to the

1804 CP(s) instantiated from the CPD.

1805 """

1806 return self.__address_data

1807

1808 def _set_address_data(self, v, load=False):

1809 """

1810 Setter method for address_data, mapped from YANG variable /vnfd/vdu/int_cpd/protocol/address_data (list)

1811 If this variable is read-only (config: false) in the

1812 source YANG file, then _set_address_data is considered as a private

1813 method. Backends looking to populate this variable should

1814 do so via calling thisObj._set_address_data() directly.

1815

1816 YANG Description: Provides information on the addresses to be assigned to the

1817 CP(s) instantiated from the CPD.

1818 """

1819 if hasattr(v, "_utype"):

1820 v = v._utype(v)

1821 try:

1822 t = YANGDynClass(v,base=YANGListType("type",yc_address_data_etsi_nfv_vnfd__vnfd_vdu_int_cpd_protocol_address_data, yang_name="address-data", parent=self, is_container='list', user_ordered=False, path_helper=self._path_helper, yang_keys='type', extensions=None), is_container='list', yang_name="address-data", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, extensions=None, namespace='urn:etsi:nfv:yang:etsi-nfv-vnfd', defining_module='etsi-nfv-vnfd', yang_type='list', is_config=True)

1823 except (TypeError, ValueError):

1824 raise ValueError({

1825 'error-string': """address_data must be of a type compatible with list""",

1826 'defined-type': "list",

1827 'generated-type': """YANGDynClass(base=YANGListType("type",yc_address_data_etsi_nfv_vnfd__vnfd_vdu_int_cpd_protocol_address_data, yang_name="address-data", parent=self, is_container='list', user_ordered=False, path_helper=self._path_helper, yang_keys='type', extensions=None), is_container='list', yang_name="address-data", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, extensions=None, namespace='urn:etsi:nfv:yang:etsi-nfv-vnfd', defining_module='etsi-nfv-vnfd', yang_type='list', is_config=True)""",

1828 })

1829

1830 self.__address_data = t

1831 if hasattr(self, '_set'):

1832 self._set()

1833

1834 def _unset_address_data(self):

1835 self.__address_data = YANGDynClass(base=YANGListType("type",yc_address_data_etsi_nfv_vnfd__vnfd_vdu_int_cpd_protocol_address_data, yang_name="address-data", parent=self, is_container='list', user_ordered=False, path_helper=self._path_helper, yang_keys='type', extensions=None), is_container='list', yang_name="address-data", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, extensions=None, namespace='urn:etsi:nfv:yang:etsi-nfv-vnfd', defining_module='etsi-nfv-vnfd', yang_type='list', is_config=True)

1836

1837 associated_layer_protocol = __builtin__.property(_get_associated_layer_protocol, _set_associated_layer_protocol)

1838 address_data = __builtin__.property(_get_address_data, _set_address_data)

1839

1840

1841 _pyangbind_elements = OrderedDict([('associated_layer_protocol', associated_layer_protocol), ('address_data', address_data), ])

1842

1843

1844 class yc_int_cpd_etsi_nfv_vnfd__vnfd_vdu_int_cpd(PybindBase):

1845 """

1846 This class was auto-generated by the PythonClass plugin for PYANG

1847 from YANG module etsi-nfv-vnfd - based on the path /vnfd/vdu/int-cpd. Each member element of

1848 the container is represented as a class variable - with a specific

1849 YANG type.

1850

1851 YANG Description: A internal-connection-point element is a type of

1852 connection point and describes network connectivity

1853 between a VDU instance and an internal Virtual Link or

1854 an external connection point.

1855 """

1856 __slots__ = ('_path_helper', '_extmethods', '__int_virtual_link_desc','__bitrate_requirement','__virtual_network_interface_requirement','__nicio_requirements','__order','__id','__layer_protocol','__role','__description','__protocol','__trunk_mode','__security_group_rule_id','__port_security_enabled','__port_security_disable_strategy',)

1857

1858 _yang_name = 'int-cpd'

1859 _yang_namespace = 'urn:etsi:nfv:yang:etsi-nfv-vnfd'

1860

1861 _pybind_generated_by = 'container'

1862

1863 def __init__(self, *args, **kwargs):

1864

1865 self._path_helper = False

1866

1867 self._extmethods = False

1868 self.__int_virtual_link_desc = YANGDynClass(base=str, is_leaf=True, yang_name="int-virtual-link-desc", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='urn:etsi:nfv:yang:etsi-nfv-vnfd', defining_module='etsi-nfv-vnfd', yang_type='leafref', is_config=True)

1869 self.__bitrate_requirement = YANGDynClass(base=RestrictedClassType(base_type=long, restriction_dict={'range': ['0..18446744073709551615']}, int_size=64), is_leaf=True, yang_name="bitrate-requirement", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='urn:etsi:nfv:yang:etsi-nfv-vnfd', defining_module='etsi-nfv-vnfd', yang_type='uint64', is_config=True)

1870 self.__virtual_network_interface_requirement = YANGDynClass(base=YANGListType("name",yc_virtual_network_interface_requirement_etsi_nfv_vnfd__vnfd_vdu_int_cpd_virtual_network_interface_requirement, yang_name="virtual-network-interface-requirement", parent=self, is_container='list', user_ordered=False, path_helper=self._path_helper, yang_keys='name', extensions=None), is_container='list', yang_name="virtual-network-interface-requirement", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, extensions=None, namespace='urn:etsi:nfv:yang:etsi-nfv-vnfd', defining_module='etsi-nfv-vnfd', yang_type='list', is_config=True)

1871 self.__nicio_requirements = YANGDynClass(base=str, is_leaf=True, yang_name="nicio-requirements", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='urn:etsi:nfv:yang:etsi-nfv-vnfd', defining_module='etsi-nfv-vnfd', yang_type='leafref', is_config=True)

1872 self.__order = YANGDynClass(unique=True, base=TypedListType(allowed_type=RestrictedClassType(base_type=long, restriction_dict={'range': ['0..4294967295']}, int_size=32)), is_leaf=False, yang_name="order", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='urn:etsi:nfv:yang:etsi-nfv-vnfd', defining_module='etsi-nfv-vnfd', yang_type='uint32', is_config=True)

1873 self.__id = YANGDynClass(base=str, is_leaf=True, yang_name="id", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, is_keyval=True, namespace='urn:etsi:nfv:yang:etsi-nfv-vnfd', defining_module='etsi-nfv-vnfd', yang_type='string', is_config=True)

1874 self.__layer_protocol = YANGDynClass(unique=True, base=TypedListType(allowed_type=RestrictedClassType(base_type=str, restriction_type="dict_key", restriction_arg={'ethernet': {'@module': 'etsi-nfv-descriptors', '@namespace': 'urn:etsi:nfv:yang:etsi-nfv-descriptors'}, 'etsi-nfv-descriptors:ethernet': {'@module': 'etsi-nfv-descriptors', '@namespace': 'urn:etsi:nfv:yang:etsi-nfv-descriptors'}, 'nfv:ethernet': {'@module': 'etsi-nfv-descriptors', '@namespace': 'urn:etsi:nfv:yang:etsi-nfv-descriptors'}, 'descriptors:ethernet': {'@module': 'etsi-nfv-descriptors', '@namespace': 'urn:etsi:nfv:yang:etsi-nfv-descriptors'}, 'vnf:ethernet': {'@module': 'etsi-nfv-descriptors', '@namespace': 'urn:etsi:nfv:yang:etsi-nfv-descriptors'}, 'mpls': {'@module': 'etsi-nfv-descriptors', '@namespace': 'urn:etsi:nfv:yang:etsi-nfv-descriptors'}, 'etsi-nfv-descriptors:mpls': {'@module': 'etsi-nfv-descriptors', '@namespace': 'urn:etsi:nfv:yang:etsi-nfv-descriptors'}, 'nfv:mpls': {'@module': 'etsi-nfv-descriptors', '@namespace': 'urn:etsi:nfv:yang:etsi-nfv-descriptors'}, 'descriptors:mpls': {'@module': 'etsi-nfv-descriptors', '@namespace': 'urn:etsi:nfv:yang:etsi-nfv-descriptors'}, 'vnf:mpls': {'@module': 'etsi-nfv-descriptors', '@namespace': 'urn:etsi:nfv:yang:etsi-nfv-descriptors'}, 'odu2': {'@module': 'etsi-nfv-descriptors', '@namespace': 'urn:etsi:nfv:yang:etsi-nfv-descriptors'}, 'etsi-nfv-descriptors:odu2': {'@module': 'etsi-nfv-descriptors', '@namespace': 'urn:etsi:nfv:yang:etsi-nfv-descriptors'}, 'nfv:odu2': {'@module': 'etsi-nfv-descriptors', '@namespace': 'urn:etsi:nfv:yang:etsi-nfv-descriptors'}, 'descriptors:odu2': {'@module': 'etsi-nfv-descriptors', '@namespace': 'urn:etsi:nfv:yang:etsi-nfv-descriptors'}, 'vnf:odu2': {'@module': 'etsi-nfv-descriptors', '@namespace': 'urn:etsi:nfv:yang:etsi-nfv-descriptors'}, 'ipv4': {'@module': 'etsi-nfv-descriptors', '@namespace': 'urn:etsi:nfv:yang:etsi-nfv-descriptors'}, 'etsi-nfv-descriptors:ipv4': {'@module': 'etsi-nfv-descriptors', '@namespace': 'urn:etsi:nfv:yang:etsi-nfv-descriptors'}, 'nfv:ipv4': {'@module': 'etsi-nfv-descriptors', '@namespace': 'urn:etsi:nfv:yang:etsi-nfv-descriptors'}, 'descriptors:ipv4': {'@module': 'etsi-nfv-descriptors', '@namespace': 'urn:etsi:nfv:yang:etsi-nfv-descriptors'}, 'vnf:ipv4': {'@module': 'etsi-nfv-descriptors', '@namespace': 'urn:etsi:nfv:yang:etsi-nfv-descriptors'}, 'ipv6': {'@module': 'etsi-nfv-descriptors', '@namespace': 'urn:etsi:nfv:yang:etsi-nfv-descriptors'}, 'etsi-nfv-descriptors:ipv6': {'@module': 'etsi-nfv-descriptors', '@namespace': 'urn:etsi:nfv:yang:etsi-nfv-descriptors'}, 'nfv:ipv6': {'@module': 'etsi-nfv-descriptors', '@namespace': 'urn:etsi:nfv:yang:etsi-nfv-descriptors'}, 'descriptors:ipv6': {'@module': 'etsi-nfv-descriptors', '@namespace': 'urn:etsi:nfv:yang:etsi-nfv-descriptors'}, 'vnf:ipv6': {'@module': 'etsi-nfv-descriptors', '@namespace': 'urn:etsi:nfv:yang:etsi-nfv-descriptors'}, 'pseudo-wire': {'@module': 'etsi-nfv-descriptors', '@namespace': 'urn:etsi:nfv:yang:etsi-nfv-descriptors'}, 'etsi-nfv-descriptors:pseudo-wire': {'@module': 'etsi-nfv-descriptors', '@namespace': 'urn:etsi:nfv:yang:etsi-nfv-descriptors'}, 'nfv:pseudo-wire': {'@module': 'etsi-nfv-descriptors', '@namespace': 'urn:etsi:nfv:yang:etsi-nfv-descriptors'}, 'descriptors:pseudo-wire': {'@module': 'etsi-nfv-descriptors', '@namespace': 'urn:etsi:nfv:yang:etsi-nfv-descriptors'}, 'vnf:pseudo-wire': {'@module': 'etsi-nfv-descriptors', '@namespace': 'urn:etsi:nfv:yang:etsi-nfv-descriptors'}},)), default=str("ethernet"), is_leaf=False, yang_name="layer-protocol", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='urn:etsi:nfv:yang:etsi-nfv-vnfd', defining_module='etsi-nfv-vnfd', yang_type='identityref', is_config=True)

1875 self.__role = YANGDynClass(base=RestrictedClassType(base_type=str, restriction_type="dict_key", restriction_arg={'root': {'@module': 'etsi-nfv-descriptors', '@namespace': 'urn:etsi:nfv:yang:etsi-nfv-descriptors'}, 'etsi-nfv-descriptors:root': {'@module': 'etsi-nfv-descriptors', '@namespace': 'urn:etsi:nfv:yang:etsi-nfv-descriptors'}, 'nfv:root': {'@module': 'etsi-nfv-descriptors', '@namespace': 'urn:etsi:nfv:yang:etsi-nfv-descriptors'}, 'descriptors:root': {'@module': 'etsi-nfv-descriptors', '@namespace': 'urn:etsi:nfv:yang:etsi-nfv-descriptors'}, 'vnf:root': {'@module': 'etsi-nfv-descriptors', '@namespace': 'urn:etsi:nfv:yang:etsi-nfv-descriptors'}, 'leaf': {'@module': 'etsi-nfv-descriptors', '@namespace': 'urn:etsi:nfv:yang:etsi-nfv-descriptors'}, 'etsi-nfv-descriptors:leaf': {'@module': 'etsi-nfv-descriptors', '@namespace': 'urn:etsi:nfv:yang:etsi-nfv-descriptors'}, 'nfv:leaf': {'@module': 'etsi-nfv-descriptors', '@namespace': 'urn:etsi:nfv:yang:etsi-nfv-descriptors'}, 'descriptors:leaf': {'@module': 'etsi-nfv-descriptors', '@namespace': 'urn:etsi:nfv:yang:etsi-nfv-descriptors'}, 'vnf:leaf': {'@module': 'etsi-nfv-descriptors', '@namespace': 'urn:etsi:nfv:yang:etsi-nfv-descriptors'}},), is_leaf=True, yang_name="role", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='urn:etsi:nfv:yang:etsi-nfv-vnfd', defining_module='etsi-nfv-vnfd', yang_type='identityref', is_config=True)

1876 self.__description = YANGDynClass(base=str, is_leaf=True, yang_name="description", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='urn:etsi:nfv:yang:etsi-nfv-vnfd', defining_module='etsi-nfv-vnfd', yang_type='string', is_config=True)

1877 self.__protocol = YANGDynClass(base=YANGListType("associated_layer_protocol",yc_protocol_etsi_nfv_vnfd__vnfd_vdu_int_cpd_protocol, yang_name="protocol", parent=self, is_container='list', user_ordered=False, path_helper=self._path_helper, yang_keys='associated-layer-protocol', extensions=None), is_container='list', yang_name="protocol", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, extensions=None, namespace='urn:etsi:nfv:yang:etsi-nfv-vnfd', defining_module='etsi-nfv-vnfd', yang_type='list', is_config=True)

1878 self.__trunk_mode = YANGDynClass(base=YANGBool, is_leaf=True, yang_name="trunk-mode", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='urn:etsi:nfv:yang:etsi-nfv-vnfd', defining_module='etsi-nfv-vnfd', yang_type='boolean', is_config=True)

1879 self.__security_group_rule_id = YANGDynClass(base=str, is_leaf=True, yang_name="security-group-rule-id", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='urn:etsi:nfv:yang:etsi-nfv-vnfd', defining_module='etsi-nfv-vnfd', yang_type='leafref', is_config=True)

1880 self.__port_security_enabled = YANGDynClass(base=YANGBool, default=YANGBool("true"), is_leaf=True, yang_name="port-security-enabled", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='urn:etsi:osm:yang:augments:various', defining_module='various', yang_type='boolean', is_config=True)

1881 self.__port_security_disable_strategy = YANGDynClass(base=RestrictedClassType(base_type=str, restriction_type="dict_key", restriction_arg={'full': {}, 'allow-address-pairs': {}},), default=str("full"), is_leaf=True, yang_name="port-security-disable-strategy", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='urn:etsi:osm:yang:augments:various', defining_module='various', yang_type='enumeration', is_config=True)

1882

1883 load = kwargs.pop("load", None)

1884 if args:

1885 if len(args) > 1:

1886 raise TypeError("cannot create a YANG container with >1 argument")

1887 all_attr = True

1888 for e in self._pyangbind_elements:

1889 if not hasattr(args[0], e):

1890 all_attr = False

1891 break

1892 if not all_attr:

1893 raise ValueError("Supplied object did not have the correct attributes")

1894 for e in self._pyangbind_elements:

1895 nobj = getattr(args[0], e)

1896 if nobj._changed() is False:

1897 continue

1898 setmethod = getattr(self, "_set_%s" % e)

1899 if load is None:

1900 setmethod(getattr(args[0], e))

1901 else:

1902 setmethod(getattr(args[0], e), load=load)

1903

1904 def _path(self):

1905 if hasattr(self, "_parent"):

1906 return self._parent._path()+[self._yang_name]

1907 else:

1908 return ['vnfd', 'vdu', 'int-cpd']

1909

1910 def _get_int_virtual_link_desc(self):

1911 """

1912 Getter method for int_virtual_link_desc, mapped from YANG variable /vnfd/vdu/int_cpd/int_virtual_link_desc (leafref)

1913

1914 YANG Description: Reference of the internal VLD which this internal CPD

1915 connects to.

1916 """

1917 return self.__int_virtual_link_desc

1918

1919 def _set_int_virtual_link_desc(self, v, load=False):

1920 """

1921 Setter method for int_virtual_link_desc, mapped from YANG variable /vnfd/vdu/int_cpd/int_virtual_link_desc (leafref)

1922 If this variable is read-only (config: false) in the

1923 source YANG file, then _set_int_virtual_link_desc is considered as a private

1924 method. Backends looking to populate this variable should

1925 do so via calling thisObj._set_int_virtual_link_desc() directly.

1926

1927 YANG Description: Reference of the internal VLD which this internal CPD

1928 connects to.

1929 """

1930 if hasattr(v, "_utype"):

1931 v = v._utype(v)

1932 try:

1933 t = YANGDynClass(v,base=str, is_leaf=True, yang_name="int-virtual-link-desc", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='urn:etsi:nfv:yang:etsi-nfv-vnfd', defining_module='etsi-nfv-vnfd', yang_type='leafref', is_config=True)

1934 except (TypeError, ValueError):

1935 raise ValueError({

1936 'error-string': """int_virtual_link_desc must be of a type compatible with leafref""",

1937 'defined-type': "leafref",

1938 'generated-type': """YANGDynClass(base=str, is_leaf=True, yang_name="int-virtual-link-desc", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='urn:etsi:nfv:yang:etsi-nfv-vnfd', defining_module='etsi-nfv-vnfd', yang_type='leafref', is_config=True)""",

1939 })

1940

1941 self.__int_virtual_link_desc = t

1942 if hasattr(self, '_set'):

1943 self._set()

1944

1945 def _unset_int_virtual_link_desc(self):

1946 self.__int_virtual_link_desc = YANGDynClass(base=str, is_leaf=True, yang_name="int-virtual-link-desc", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='urn:etsi:nfv:yang:etsi-nfv-vnfd', defining_module='etsi-nfv-vnfd', yang_type='leafref', is_config=True)

1947

1948

1949 def _get_bitrate_requirement(self):

1950 """

1951 Getter method for bitrate_requirement, mapped from YANG variable /vnfd/vdu/int_cpd/bitrate_requirement (uint64)

1952

1953 YANG Description: Bitrate requirement on this CP.

1954 """

1955 return self.__bitrate_requirement

1956

1957 def _set_bitrate_requirement(self, v, load=False):

1958 """

1959 Setter method for bitrate_requirement, mapped from YANG variable /vnfd/vdu/int_cpd/bitrate_requirement (uint64)

1960 If this variable is read-only (config: false) in the

1961 source YANG file, then _set_bitrate_requirement is considered as a private

1962 method. Backends looking to populate this variable should

1963 do so via calling thisObj._set_bitrate_requirement() directly.

1964

1965 YANG Description: Bitrate requirement on this CP.

1966 """

1967 if hasattr(v, "_utype"):

1968 v = v._utype(v)

1969 try:

1970 t = YANGDynClass(v,base=RestrictedClassType(base_type=long, restriction_dict={'range': ['0..18446744073709551615']}, int_size=64), is_leaf=True, yang_name="bitrate-requirement", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='urn:etsi:nfv:yang:etsi-nfv-vnfd', defining_module='etsi-nfv-vnfd', yang_type='uint64', is_config=True)

1971 except (TypeError, ValueError):

1972 raise ValueError({

1973 'error-string': """bitrate_requirement must be of a type compatible with uint64""",

1974 'defined-type': "uint64",

1975 'generated-type': """YANGDynClass(base=RestrictedClassType(base_type=long, restriction_dict={'range': ['0..18446744073709551615']}, int_size=64), is_leaf=True, yang_name="bitrate-requirement", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='urn:etsi:nfv:yang:etsi-nfv-vnfd', defining_module='etsi-nfv-vnfd', yang_type='uint64', is_config=True)""",

1976 })

1977

1978 self.__bitrate_requirement = t

1979 if hasattr(self, '_set'):

1980 self._set()

1981

1982 def _unset_bitrate_requirement(self):

1983 self.__bitrate_requirement = YANGDynClass(base=RestrictedClassType(base_type=long, restriction_dict={'range': ['0..18446744073709551615']}, int_size=64), is_leaf=True, yang_name="bitrate-requirement", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='urn:etsi:nfv:yang:etsi-nfv-vnfd', defining_module='etsi-nfv-vnfd', yang_type='uint64', is_config=True)

1984

1985

1986 def _get_virtual_network_interface_requirement(self):

1987 """

1988 Getter method for virtual_network_interface_requirement, mapped from YANG variable /vnfd/vdu/int_cpd/virtual_network_interface_requirement (list)

1989

1990 YANG Description: Specifies requirements on a virtual network interface

1991 realising the CPs instantiated from this CPD.

1992 """

1993 return self.__virtual_network_interface_requirement

1994

1995 def _set_virtual_network_interface_requirement(self, v, load=False):

1996 """

1997 Setter method for virtual_network_interface_requirement, mapped from YANG variable /vnfd/vdu/int_cpd/virtual_network_interface_requirement (list)

1998 If this variable is read-only (config: false) in the

1999 source YANG file, then _set_virtual_network_interface_requirement is considered as a private

2000 method. Backends looking to populate this variable should

2001 do so via calling thisObj._set_virtual_network_interface_requirement() directly.

2002

2003 YANG Description: Specifies requirements on a virtual network interface

2004 realising the CPs instantiated from this CPD.

2005 """

2006 if hasattr(v, "_utype"):

2007 v = v._utype(v)

2008 try:

2009 t = YANGDynClass(v,base=YANGListType("name",yc_virtual_network_interface_requirement_etsi_nfv_vnfd__vnfd_vdu_int_cpd_virtual_network_interface_requirement, yang_name="virtual-network-interface-requirement", parent=self, is_container='list', user_ordered=False, path_helper=self._path_helper, yang_keys='name', extensions=None), is_container='list', yang_name="virtual-network-interface-requirement", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, extensions=None, namespace='urn:etsi:nfv:yang:etsi-nfv-vnfd', defining_module='etsi-nfv-vnfd', yang_type='list', is_config=True)

2010 except (TypeError, ValueError):

2011 raise ValueError({

2012 'error-string': """virtual_network_interface_requirement must be of a type compatible with list""",

2013 'defined-type': "list",

2014 'generated-type': """YANGDynClass(base=YANGListType("name",yc_virtual_network_interface_requirement_etsi_nfv_vnfd__vnfd_vdu_int_cpd_virtual_network_interface_requirement, yang_name="virtual-network-interface-requirement", parent=self, is_container='list', user_ordered=False, path_helper=self._path_helper, yang_keys='name', extensions=None), is_container='list', yang_name="virtual-network-interface-requirement", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, extensions=None, namespace='urn:etsi:nfv:yang:etsi-nfv-vnfd', defining_module='etsi-nfv-vnfd', yang_type='list', is_config=True)""",

2015 })

2016

2017 self.__virtual_network_interface_requirement = t

2018 if hasattr(self, '_set'):

2019 self._set()

2020

2021 def _unset_virtual_network_interface_requirement(self):

2022 self.__virtual_network_interface_requirement = YANGDynClass(base=YANGListType("name",yc_virtual_network_interface_requirement_etsi_nfv_vnfd__vnfd_vdu_int_cpd_virtual_network_interface_requirement, yang_name="virtual-network-interface-requirement", parent=self, is_container='list', user_ordered=False, path_helper=self._path_helper, yang_keys='name', extensions=None), is_container='list', yang_name="virtual-network-interface-requirement", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, extensions=None, namespace='urn:etsi:nfv:yang:etsi-nfv-vnfd', defining_module='etsi-nfv-vnfd', yang_type='list', is_config=True)

2023

2024

2025 def _get_nicio_requirements(self):

2026 """

2027 Getter method for nicio_requirements, mapped from YANG variable /vnfd/vdu/int_cpd/nicio_requirements (leafref)

2028

2029 YANG Description: This references (couples) the CPD with any logical node I/O

2030 requirements (for network devices) that may have been

2031 created. Linking these attributes is necessary so that so

2032 that I/O requirements that need to be articulated at the

2033 logical node level can be associated with the network

2034 interface requirements associated with the CPD.

2035 """

2036 return self.__nicio_requirements

2037

2038 def _set_nicio_requirements(self, v, load=False):

2039 """

2040 Setter method for nicio_requirements, mapped from YANG variable /vnfd/vdu/int_cpd/nicio_requirements (leafref)

2041 If this variable is read-only (config: false) in the

2042 source YANG file, then _set_nicio_requirements is considered as a private

2043 method. Backends looking to populate this variable should

2044 do so via calling thisObj._set_nicio_requirements() directly.

2045

2046 YANG Description: This references (couples) the CPD with any logical node I/O

2047 requirements (for network devices) that may have been

2048 created. Linking these attributes is necessary so that so

2049 that I/O requirements that need to be articulated at the

2050 logical node level can be associated with the network

2051 interface requirements associated with the CPD.

2052 """

2053 if hasattr(v, "_utype"):

2054 v = v._utype(v)

2055 try:

2056 t = YANGDynClass(v,base=str, is_leaf=True, yang_name="nicio-requirements", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='urn:etsi:nfv:yang:etsi-nfv-vnfd', defining_module='etsi-nfv-vnfd', yang_type='leafref', is_config=True)

2057 except (TypeError, ValueError):

2058 raise ValueError({

2059 'error-string': """nicio_requirements must be of a type compatible with leafref""",

2060 'defined-type': "leafref",

2061 'generated-type': """YANGDynClass(base=str, is_leaf=True, yang_name="nicio-requirements", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='urn:etsi:nfv:yang:etsi-nfv-vnfd', defining_module='etsi-nfv-vnfd', yang_type='leafref', is_config=True)""",

2062 })

2063

2064 self.__nicio_requirements = t

2065 if hasattr(self, '_set'):

2066 self._set()

2067

2068 def _unset_nicio_requirements(self):

2069 self.__nicio_requirements = YANGDynClass(base=str, is_leaf=True, yang_name="nicio-requirements", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='urn:etsi:nfv:yang:etsi-nfv-vnfd', defining_module='etsi-nfv-vnfd', yang_type='leafref', is_config=True)

2070

2071

2072 def _get_order(self):

2073 """

2074 Getter method for order, mapped from YANG variable /vnfd/vdu/int_cpd/order (uint32)

2075

2076 YANG Description: The order of the NIC to be assigned on the compute

2077 instance (e.g. 2 for eth2).

2078

2079 Note: when binding more than one port to a single

2080 compute (aka multi vNICs) and ordering is desired, it

2081 is mandatory that all ports will be set with an order

2082 value. The order values shall represent a positive,

2083 arithmetic progression that starts with 0 (i.e. 0, 1,

2084 2,..., n).

2085

2086 If the property is not present, it shall be left to the

2087 VIM to assign a value when creating the instance.

2088 """

2089 return self.__order

2090

2091 def _set_order(self, v, load=False):

2092 """

2093 Setter method for order, mapped from YANG variable /vnfd/vdu/int_cpd/order (uint32)

2094 If this variable is read-only (config: false) in the

2095 source YANG file, then _set_order is considered as a private

2096 method. Backends looking to populate this variable should

2097 do so via calling thisObj._set_order() directly.

2098

2099 YANG Description: The order of the NIC to be assigned on the compute

2100 instance (e.g. 2 for eth2).

2101

2102 Note: when binding more than one port to a single

2103 compute (aka multi vNICs) and ordering is desired, it

2104 is mandatory that all ports will be set with an order

2105 value. The order values shall represent a positive,

2106 arithmetic progression that starts with 0 (i.e. 0, 1,

2107 2,..., n).

2108

2109 If the property is not present, it shall be left to the

2110 VIM to assign a value when creating the instance.

2111 """

2112 if hasattr(v, "_utype"):

2113 v = v._utype(v)

2114 try:

2115 t = YANGDynClass(v,unique=True, base=TypedListType(allowed_type=RestrictedClassType(base_type=long, restriction_dict={'range': ['0..4294967295']}, int_size=32)), is_leaf=False, yang_name="order", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='urn:etsi:nfv:yang:etsi-nfv-vnfd', defining_module='etsi-nfv-vnfd', yang_type='uint32', is_config=True)

2116 except (TypeError, ValueError):

2117 raise ValueError({

2118 'error-string': """order must be of a type compatible with uint32""",

2119 'defined-type': "uint32",

2120 'generated-type': """YANGDynClass(unique=True, base=TypedListType(allowed_type=RestrictedClassType(base_type=long, restriction_dict={'range': ['0..4294967295']}, int_size=32)), is_leaf=False, yang_name="order", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='urn:etsi:nfv:yang:etsi-nfv-vnfd', defining_module='etsi-nfv-vnfd', yang_type='uint32', is_config=True)""",

2121 })

2122

2123 self.__order = t

2124 if hasattr(self, '_set'):

2125 self._set()

2126

2127 def _unset_order(self):

2128 self.__order = YANGDynClass(unique=True, base=TypedListType(allowed_type=RestrictedClassType(base_type=long, restriction_dict={'range': ['0..4294967295']}, int_size=32)), is_leaf=False, yang_name="order", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='urn:etsi:nfv:yang:etsi-nfv-vnfd', defining_module='etsi-nfv-vnfd', yang_type='uint32', is_config=True)

2129

2130

2131 def _get_id(self):

2132 """

2133 Getter method for id, mapped from YANG variable /vnfd/vdu/int_cpd/id (string)

2134

2135 YANG Description: Identifier of this Cpd information element.

2136 """

2137 return self.__id

2138

2139 def _set_id(self, v, load=False):

2140 """

2141 Setter method for id, mapped from YANG variable /vnfd/vdu/int_cpd/id (string)

2142 If this variable is read-only (config: false) in the

2143 source YANG file, then _set_id is considered as a private

2144 method. Backends looking to populate this variable should

2145 do so via calling thisObj._set_id() directly.

2146

2147 YANG Description: Identifier of this Cpd information element.

2148 """

2149 parent = getattr(self, "_parent", None)

2150 if parent is not None and load is False:

2151 raise AttributeError("Cannot set keys directly when" +

2152 " within an instantiated list")

2153

2154 if hasattr(v, "_utype"):

2155 v = v._utype(v)

2156 try:

2157 t = YANGDynClass(v,base=str, is_leaf=True, yang_name="id", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, is_keyval=True, namespace='urn:etsi:nfv:yang:etsi-nfv-vnfd', defining_module='etsi-nfv-vnfd', yang_type='string', is_config=True)

2158 except (TypeError, ValueError):

2159 raise ValueError({

2160 'error-string': """id must be of a type compatible with string""",

2161 'defined-type': "string",

2162 'generated-type': """YANGDynClass(base=str, is_leaf=True, yang_name="id", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, is_keyval=True, namespace='urn:etsi:nfv:yang:etsi-nfv-vnfd', defining_module='etsi-nfv-vnfd', yang_type='string', is_config=True)""",

2163 })

2164

2165 self.__id = t

2166 if hasattr(self, '_set'):

2167 self._set()

2168

2169 def _unset_id(self):

2170 self.__id = YANGDynClass(base=str, is_leaf=True, yang_name="id", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, is_keyval=True, namespace='urn:etsi:nfv:yang:etsi-nfv-vnfd', defining_module='etsi-nfv-vnfd', yang_type='string', is_config=True)

2171

2172

2173 def _get_layer_protocol(self):

2174 """

2175 Getter method for layer_protocol, mapped from YANG variable /vnfd/vdu/int_cpd/layer_protocol (identityref)

2176

2177 YANG Description: Identifies a protocol that the connection points

2178 corresponding to the CPD support for connectivity purposes

2179(e.g. Ethernet, MPLS, ODU2, IPV4, IPV6, Pseudo-Wire, etc.).

2180 """

2181 return self.__layer_protocol

2182

2183 def _set_layer_protocol(self, v, load=False):

2184 """

2185 Setter method for layer_protocol, mapped from YANG variable /vnfd/vdu/int_cpd/layer_protocol (identityref)

2186 If this variable is read-only (config: false) in the

2187 source YANG file, then _set_layer_protocol is considered as a private

2188 method. Backends looking to populate this variable should

2189 do so via calling thisObj._set_layer_protocol() directly.

2190

2191 YANG Description: Identifies a protocol that the connection points

2192 corresponding to the CPD support for connectivity purposes

2193(e.g. Ethernet, MPLS, ODU2, IPV4, IPV6, Pseudo-Wire, etc.).

2194 """

2195 if hasattr(v, "_utype"):

2196 v = v._utype(v)

2197 try:

2198 t = YANGDynClass(v,unique=True, base=TypedListType(allowed_type=RestrictedClassType(base_type=str, restriction_type="dict_key", restriction_arg={'ethernet': {'@module': 'etsi-nfv-descriptors', '@namespace': 'urn:etsi:nfv:yang:etsi-nfv-descriptors'}, 'etsi-nfv-descriptors:ethernet': {'@module': 'etsi-nfv-descriptors', '@namespace': 'urn:etsi:nfv:yang:etsi-nfv-descriptors'}, 'nfv:ethernet': {'@module': 'etsi-nfv-descriptors', '@namespace': 'urn:etsi:nfv:yang:etsi-nfv-descriptors'}, 'descriptors:ethernet': {'@module': 'etsi-nfv-descriptors', '@namespace': 'urn:etsi:nfv:yang:etsi-nfv-descriptors'}, 'vnf:ethernet': {'@module': 'etsi-nfv-descriptors', '@namespace': 'urn:etsi:nfv:yang:etsi-nfv-descriptors'}, 'mpls': {'@module': 'etsi-nfv-descriptors', '@namespace': 'urn:etsi:nfv:yang:etsi-nfv-descriptors'}, 'etsi-nfv-descriptors:mpls': {'@module': 'etsi-nfv-descriptors', '@namespace': 'urn:etsi:nfv:yang:etsi-nfv-descriptors'}, 'nfv:mpls': {'@module': 'etsi-nfv-descriptors', '@namespace': 'urn:etsi:nfv:yang:etsi-nfv-descriptors'}, 'descriptors:mpls': {'@module': 'etsi-nfv-descriptors', '@namespace': 'urn:etsi:nfv:yang:etsi-nfv-descriptors'}, 'vnf:mpls': {'@module': 'etsi-nfv-descriptors', '@namespace': 'urn:etsi:nfv:yang:etsi-nfv-descriptors'}, 'odu2': {'@module': 'etsi-nfv-descriptors', '@namespace': 'urn:etsi:nfv:yang:etsi-nfv-descriptors'}, 'etsi-nfv-descriptors:odu2': {'@module': 'etsi-nfv-descriptors', '@namespace': 'urn:etsi:nfv:yang:etsi-nfv-descriptors'}, 'nfv:odu2': {'@module': 'etsi-nfv-descriptors', '@namespace': 'urn:etsi:nfv:yang:etsi-nfv-descriptors'}, 'descriptors:odu2': {'@module': 'etsi-nfv-descriptors', '@namespace': 'urn:etsi:nfv:yang:etsi-nfv-descriptors'}, 'vnf:odu2': {'@module': 'etsi-nfv-descriptors', '@namespace': 'urn:etsi:nfv:yang:etsi-nfv-descriptors'}, 'ipv4': {'@module': 'etsi-nfv-descriptors', '@namespace': 'urn:etsi:nfv:yang:etsi-nfv-descriptors'}, 'etsi-nfv-descriptors:ipv4': {'@module': 'etsi-nfv-descriptors', '@namespace': 'urn:etsi:nfv:yang:etsi-nfv-descriptors'}, 'nfv:ipv4': {'@module': 'etsi-nfv-descriptors', '@namespace': 'urn:etsi:nfv:yang:etsi-nfv-descriptors'}, 'descriptors:ipv4': {'@module': 'etsi-nfv-descriptors', '@namespace': 'urn:etsi:nfv:yang:etsi-nfv-descriptors'}, 'vnf:ipv4': {'@module': 'etsi-nfv-descriptors', '@namespace': 'urn:etsi:nfv:yang:etsi-nfv-descriptors'}, 'ipv6': {'@module': 'etsi-nfv-descriptors', '@namespace': 'urn:etsi:nfv:yang:etsi-nfv-descriptors'}, 'etsi-nfv-descriptors:ipv6': {'@module': 'etsi-nfv-descriptors', '@namespace': 'urn:etsi:nfv:yang:etsi-nfv-descriptors'}, 'nfv:ipv6': {'@module': 'etsi-nfv-descriptors', '@namespace': 'urn:etsi:nfv:yang:etsi-nfv-descriptors'}, 'descriptors:ipv6': {'@module': 'etsi-nfv-descriptors', '@namespace': 'urn:etsi:nfv:yang:etsi-nfv-descriptors'}, 'vnf:ipv6': {'@module': 'etsi-nfv-descriptors', '@namespace': 'urn:etsi:nfv:yang:etsi-nfv-descriptors'}, 'pseudo-wire': {'@module': 'etsi-nfv-descriptors', '@namespace': 'urn:etsi:nfv:yang:etsi-nfv-descriptors'}, 'etsi-nfv-descriptors:pseudo-wire': {'@module': 'etsi-nfv-descriptors', '@namespace': 'urn:etsi:nfv:yang:etsi-nfv-descriptors'}, 'nfv:pseudo-wire': {'@module': 'etsi-nfv-descriptors', '@namespace': 'urn:etsi:nfv:yang:etsi-nfv-descriptors'}, 'descriptors:pseudo-wire': {'@module': 'etsi-nfv-descriptors', '@namespace': 'urn:etsi:nfv:yang:etsi-nfv-descriptors'}, 'vnf:pseudo-wire': {'@module': 'etsi-nfv-descriptors', '@namespace': 'urn:etsi:nfv:yang:etsi-nfv-descriptors'}},)), default=str("ethernet"), is_leaf=False, yang_name="layer-protocol", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='urn:etsi:nfv:yang:etsi-nfv-vnfd', defining_module='etsi-nfv-vnfd', yang_type='identityref', is_config=True)

2199 except (TypeError, ValueError):

2200 raise ValueError({

2201 'error-string': """layer_protocol must be of a type compatible with identityref""",

2202 'defined-type': "etsi-nfv-vnfd:identityref",

2203 'generated-type': """YANGDynClass(unique=True, base=TypedListType(allowed_type=RestrictedClassType(base_type=str, restriction_type="dict_key", restriction_arg={'ethernet': {'@module': 'etsi-nfv-descriptors', '@namespace': 'urn:etsi:nfv:yang:etsi-nfv-descriptors'}, 'etsi-nfv-descriptors:ethernet': {'@module': 'etsi-nfv-descriptors', '@namespace': 'urn:etsi:nfv:yang:etsi-nfv-descriptors'}, 'nfv:ethernet': {'@module': 'etsi-nfv-descriptors', '@namespace': 'urn:etsi:nfv:yang:etsi-nfv-descriptors'}, 'descriptors:ethernet': {'@module': 'etsi-nfv-descriptors', '@namespace': 'urn:etsi:nfv:yang:etsi-nfv-descriptors'}, 'vnf:ethernet': {'@module': 'etsi-nfv-descriptors', '@namespace': 'urn:etsi:nfv:yang:etsi-nfv-descriptors'}, 'mpls': {'@module': 'etsi-nfv-descriptors', '@namespace': 'urn:etsi:nfv:yang:etsi-nfv-descriptors'}, 'etsi-nfv-descriptors:mpls': {'@module': 'etsi-nfv-descriptors', '@namespace': 'urn:etsi:nfv:yang:etsi-nfv-descriptors'}, 'nfv:mpls': {'@module': 'etsi-nfv-descriptors', '@namespace': 'urn:etsi:nfv:yang:etsi-nfv-descriptors'}, 'descriptors:mpls': {'@module': 'etsi-nfv-descriptors', '@namespace': 'urn:etsi:nfv:yang:etsi-nfv-descriptors'}, 'vnf:mpls': {'@module': 'etsi-nfv-descriptors', '@namespace': 'urn:etsi:nfv:yang:etsi-nfv-descriptors'}, 'odu2': {'@module': 'etsi-nfv-descriptors', '@namespace': 'urn:etsi:nfv:yang:etsi-nfv-descriptors'}, 'etsi-nfv-descriptors:odu2': {'@module': 'etsi-nfv-descriptors', '@namespace': 'urn:etsi:nfv:yang:etsi-nfv-descriptors'}, 'nfv:odu2': {'@module': 'etsi-nfv-descriptors', '@namespace': 'urn:etsi:nfv:yang:etsi-nfv-descriptors'}, 'descriptors:odu2': {'@module': 'etsi-nfv-descriptors', '@namespace': 'urn:etsi:nfv:yang:etsi-nfv-descriptors'}, 'vnf:odu2': {'@module': 'etsi-nfv-descriptors', '@namespace': 'urn:etsi:nfv:yang:etsi-nfv-descriptors'}, 'ipv4': {'@module': 'etsi-nfv-descriptors', '@namespace': 'urn:etsi:nfv:yang:etsi-nfv-descriptors'}, 'etsi-nfv-descriptors:ipv4': {'@module': 'etsi-nfv-descriptors', '@namespace': 'urn:etsi:nfv:yang:etsi-nfv-descriptors'}, 'nfv:ipv4': {'@module': 'etsi-nfv-descriptors', '@namespace': 'urn:etsi:nfv:yang:etsi-nfv-descriptors'}, 'descriptors:ipv4': {'@module': 'etsi-nfv-descriptors', '@namespace': 'urn:etsi:nfv:yang:etsi-nfv-descriptors'}, 'vnf:ipv4': {'@module': 'etsi-nfv-descriptors', '@namespace': 'urn:etsi:nfv:yang:etsi-nfv-descriptors'}, 'ipv6': {'@module': 'etsi-nfv-descriptors', '@namespace': 'urn:etsi:nfv:yang:etsi-nfv-descriptors'}, 'etsi-nfv-descriptors:ipv6': {'@module': 'etsi-nfv-descriptors', '@namespace': 'urn:etsi:nfv:yang:etsi-nfv-descriptors'}, 'nfv:ipv6': {'@module': 'etsi-nfv-descriptors', '@namespace': 'urn:etsi:nfv:yang:etsi-nfv-descriptors'}, 'descriptors:ipv6': {'@module': 'etsi-nfv-descriptors', '@namespace': 'urn:etsi:nfv:yang:etsi-nfv-descriptors'}, 'vnf:ipv6': {'@module': 'etsi-nfv-descriptors', '@namespace': 'urn:etsi:nfv:yang:etsi-nfv-descriptors'}, 'pseudo-wire': {'@module': 'etsi-nfv-descriptors', '@namespace': 'urn:etsi:nfv:yang:etsi-nfv-descriptors'}, 'etsi-nfv-descriptors:pseudo-wire': {'@module': 'etsi-nfv-descriptors', '@namespace': 'urn:etsi:nfv:yang:etsi-nfv-descriptors'}, 'nfv:pseudo-wire': {'@module': 'etsi-nfv-descriptors', '@namespace': 'urn:etsi:nfv:yang:etsi-nfv-descriptors'}, 'descriptors:pseudo-wire': {'@module': 'etsi-nfv-descriptors', '@namespace': 'urn:etsi:nfv:yang:etsi-nfv-descriptors'}, 'vnf:pseudo-wire': {'@module': 'etsi-nfv-descriptors', '@namespace': 'urn:etsi:nfv:yang:etsi-nfv-descriptors'}},)), default=str("ethernet"), is_leaf=False, yang_name="layer-protocol", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='urn:etsi:nfv:yang:etsi-nfv-vnfd', defining_module='etsi-nfv-vnfd', yang_type='identityref', is_config=True)""",

2204 })

2205

2206 self.__layer_protocol = t

2207 if hasattr(self, '_set'):

2208 self._set()

2209

2210 def _unset_layer_protocol(self):

2211 self.__layer_protocol = YANGDynClass(unique=True, base=TypedListType(allowed_type=RestrictedClassType(base_type=str, restriction_type="dict_key", restriction_arg={'ethernet': {'@module': 'etsi-nfv-descriptors', '@namespace': 'urn:etsi:nfv:yang:etsi-nfv-descriptors'}, 'etsi-nfv-descriptors:ethernet': {'@module': 'etsi-nfv-descriptors', '@namespace': 'urn:etsi:nfv:yang:etsi-nfv-descriptors'}, 'nfv:ethernet': {'@module': 'etsi-nfv-descriptors', '@namespace': 'urn:etsi:nfv:yang:etsi-nfv-descriptors'}, 'descriptors:ethernet': {'@module': 'etsi-nfv-descriptors', '@namespace': 'urn:etsi:nfv:yang:etsi-nfv-descriptors'}, 'vnf:ethernet': {'@module': 'etsi-nfv-descriptors', '@namespace': 'urn:etsi:nfv:yang:etsi-nfv-descriptors'}, 'mpls': {'@module': 'etsi-nfv-descriptors', '@namespace': 'urn:etsi:nfv:yang:etsi-nfv-descriptors'}, 'etsi-nfv-descriptors:mpls': {'@module': 'etsi-nfv-descriptors', '@namespace': 'urn:etsi:nfv:yang:etsi-nfv-descriptors'}, 'nfv:mpls': {'@module': 'etsi-nfv-descriptors', '@namespace': 'urn:etsi:nfv:yang:etsi-nfv-descriptors'}, 'descriptors:mpls': {'@module': 'etsi-nfv-descriptors', '@namespace': 'urn:etsi:nfv:yang:etsi-nfv-descriptors'}, 'vnf:mpls': {'@module': 'etsi-nfv-descriptors', '@namespace': 'urn:etsi:nfv:yang:etsi-nfv-descriptors'}, 'odu2': {'@module': 'etsi-nfv-descriptors', '@namespace': 'urn:etsi:nfv:yang:etsi-nfv-descriptors'}, 'etsi-nfv-descriptors:odu2': {'@module': 'etsi-nfv-descriptors', '@namespace': 'urn:etsi:nfv:yang:etsi-nfv-descriptors'}, 'nfv:odu2': {'@module': 'etsi-nfv-descriptors', '@namespace': 'urn:etsi:nfv:yang:etsi-nfv-descriptors'}, 'descriptors:odu2': {'@module': 'etsi-nfv-descriptors', '@namespace': 'urn:etsi:nfv:yang:etsi-nfv-descriptors'}, 'vnf:odu2': {'@module': 'etsi-nfv-descriptors', '@namespace': 'urn:etsi:nfv:yang:etsi-nfv-descriptors'}, 'ipv4': {'@module': 'etsi-nfv-descriptors', '@namespace': 'urn:etsi:nfv:yang:etsi-nfv-descriptors'}, 'etsi-nfv-descriptors:ipv4': {'@module': 'etsi-nfv-descriptors', '@namespace': 'urn:etsi:nfv:yang:etsi-nfv-descriptors'}, 'nfv:ipv4': {'@module': 'etsi-nfv-descriptors', '@namespace': 'urn:etsi:nfv:yang:etsi-nfv-descriptors'}, 'descriptors:ipv4': {'@module': 'etsi-nfv-descriptors', '@namespace': 'urn:etsi:nfv:yang:etsi-nfv-descriptors'}, 'vnf:ipv4': {'@module': 'etsi-nfv-descriptors', '@namespace': 'urn:etsi:nfv:yang:etsi-nfv-descriptors'}, 'ipv6': {'@module': 'etsi-nfv-descriptors', '@namespace': 'urn:etsi:nfv:yang:etsi-nfv-descriptors'}, 'etsi-nfv-descriptors:ipv6': {'@module': 'etsi-nfv-descriptors', '@namespace': 'urn:etsi:nfv:yang:etsi-nfv-descriptors'}, 'nfv:ipv6': {'@module': 'etsi-nfv-descriptors', '@namespace': 'urn:etsi:nfv:yang:etsi-nfv-descriptors'}, 'descriptors:ipv6': {'@module': 'etsi-nfv-descriptors', '@namespace': 'urn:etsi:nfv:yang:etsi-nfv-descriptors'}, 'vnf:ipv6': {'@module': 'etsi-nfv-descriptors', '@namespace': 'urn:etsi:nfv:yang:etsi-nfv-descriptors'}, 'pseudo-wire': {'@module': 'etsi-nfv-descriptors', '@namespace': 'urn:etsi:nfv:yang:etsi-nfv-descriptors'}, 'etsi-nfv-descriptors:pseudo-wire': {'@module': 'etsi-nfv-descriptors', '@namespace': 'urn:etsi:nfv:yang:etsi-nfv-descriptors'}, 'nfv:pseudo-wire': {'@module': 'etsi-nfv-descriptors', '@namespace': 'urn:etsi:nfv:yang:etsi-nfv-descriptors'}, 'descriptors:pseudo-wire': {'@module': 'etsi-nfv-descriptors', '@namespace': 'urn:etsi:nfv:yang:etsi-nfv-descriptors'}, 'vnf:pseudo-wire': {'@module': 'etsi-nfv-descriptors', '@namespace': 'urn:etsi:nfv:yang:etsi-nfv-descriptors'}},)), default=str("ethernet"), is_leaf=False, yang_name="layer-protocol", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='urn:etsi:nfv:yang:etsi-nfv-vnfd', defining_module='etsi-nfv-vnfd', yang_type='identityref', is_config=True)

2212

2213

2214 def _get_role(self):

2215 """

2216 Getter method for role, mapped from YANG variable /vnfd/vdu/int_cpd/role (identityref)

2217

2218 YANG Description: Identifies the role of the connection points

2219 corresponding to the CPD in the context of the traffic

2220 flow patterns in the VNF, PNF or NS. For example an NS with

2221 a tree flow pattern within the NS will have legal cpRoles

2222 of ROOT and LEAF.

2223 """

2224 return self.__role

2225

2226 def _set_role(self, v, load=False):

2227 """

2228 Setter method for role, mapped from YANG variable /vnfd/vdu/int_cpd/role (identityref)

2229 If this variable is read-only (config: false) in the

2230 source YANG file, then _set_role is considered as a private

2231 method. Backends looking to populate this variable should

2232 do so via calling thisObj._set_role() directly.

2233

2234 YANG Description: Identifies the role of the connection points

2235 corresponding to the CPD in the context of the traffic

2236 flow patterns in the VNF, PNF or NS. For example an NS with

2237 a tree flow pattern within the NS will have legal cpRoles

2238 of ROOT and LEAF.

2239 """

2240 if hasattr(v, "_utype"):

2241 v = v._utype(v)

2242 try:

2243 t = YANGDynClass(v,base=RestrictedClassType(base_type=str, restriction_type="dict_key", restriction_arg={'root': {'@module': 'etsi-nfv-descriptors', '@namespace': 'urn:etsi:nfv:yang:etsi-nfv-descriptors'}, 'etsi-nfv-descriptors:root': {'@module': 'etsi-nfv-descriptors', '@namespace': 'urn:etsi:nfv:yang:etsi-nfv-descriptors'}, 'nfv:root': {'@module': 'etsi-nfv-descriptors', '@namespace': 'urn:etsi:nfv:yang:etsi-nfv-descriptors'}, 'descriptors:root': {'@module': 'etsi-nfv-descriptors', '@namespace': 'urn:etsi:nfv:yang:etsi-nfv-descriptors'}, 'vnf:root': {'@module': 'etsi-nfv-descriptors', '@namespace': 'urn:etsi:nfv:yang:etsi-nfv-descriptors'}, 'leaf': {'@module': 'etsi-nfv-descriptors', '@namespace': 'urn:etsi:nfv:yang:etsi-nfv-descriptors'}, 'etsi-nfv-descriptors:leaf': {'@module': 'etsi-nfv-descriptors', '@namespace': 'urn:etsi:nfv:yang:etsi-nfv-descriptors'}, 'nfv:leaf': {'@module': 'etsi-nfv-descriptors', '@namespace': 'urn:etsi:nfv:yang:etsi-nfv-descriptors'}, 'descriptors:leaf': {'@module': 'etsi-nfv-descriptors', '@namespace': 'urn:etsi:nfv:yang:etsi-nfv-descriptors'}, 'vnf:leaf': {'@module': 'etsi-nfv-descriptors', '@namespace': 'urn:etsi:nfv:yang:etsi-nfv-descriptors'}},), is_leaf=True, yang_name="role", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='urn:etsi:nfv:yang:etsi-nfv-vnfd', defining_module='etsi-nfv-vnfd', yang_type='identityref', is_config=True)

2244 except (TypeError, ValueError):

2245 raise ValueError({

2246 'error-string': """role must be of a type compatible with identityref""",

2247 'defined-type': "etsi-nfv-vnfd:identityref",

2248 'generated-type': """YANGDynClass(base=RestrictedClassType(base_type=str, restriction_type="dict_key", restriction_arg={'root': {'@module': 'etsi-nfv-descriptors', '@namespace': 'urn:etsi:nfv:yang:etsi-nfv-descriptors'}, 'etsi-nfv-descriptors:root': {'@module': 'etsi-nfv-descriptors', '@namespace': 'urn:etsi:nfv:yang:etsi-nfv-descriptors'}, 'nfv:root': {'@module': 'etsi-nfv-descriptors', '@namespace': 'urn:etsi:nfv:yang:etsi-nfv-descriptors'}, 'descriptors:root': {'@module': 'etsi-nfv-descriptors', '@namespace': 'urn:etsi:nfv:yang:etsi-nfv-descriptors'}, 'vnf:root': {'@module': 'etsi-nfv-descriptors', '@namespace': 'urn:etsi:nfv:yang:etsi-nfv-descriptors'}, 'leaf': {'@module': 'etsi-nfv-descriptors', '@namespace': 'urn:etsi:nfv:yang:etsi-nfv-descriptors'}, 'etsi-nfv-descriptors:leaf': {'@module': 'etsi-nfv-descriptors', '@namespace': 'urn:etsi:nfv:yang:etsi-nfv-descriptors'}, 'nfv:leaf': {'@module': 'etsi-nfv-descriptors', '@namespace': 'urn:etsi:nfv:yang:etsi-nfv-descriptors'}, 'descriptors:leaf': {'@module': 'etsi-nfv-descriptors', '@namespace': 'urn:etsi:nfv:yang:etsi-nfv-descriptors'}, 'vnf:leaf': {'@module': 'etsi-nfv-descriptors', '@namespace': 'urn:etsi:nfv:yang:etsi-nfv-descriptors'}},), is_leaf=True, yang_name="role", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='urn:etsi:nfv:yang:etsi-nfv-vnfd', defining_module='etsi-nfv-vnfd', yang_type='identityref', is_config=True)""",

2249 })

2250

2251 self.__role = t

2252 if hasattr(self, '_set'):

2253 self._set()

2254

2255 def _unset_role(self):

2256 self.__role = YANGDynClass(base=RestrictedClassType(base_type=str, restriction_type="dict_key", restriction_arg={'root': {'@module': 'etsi-nfv-descriptors', '@namespace': 'urn:etsi:nfv:yang:etsi-nfv-descriptors'}, 'etsi-nfv-descriptors:root': {'@module': 'etsi-nfv-descriptors', '@namespace': 'urn:etsi:nfv:yang:etsi-nfv-descriptors'}, 'nfv:root': {'@module': 'etsi-nfv-descriptors', '@namespace': 'urn:etsi:nfv:yang:etsi-nfv-descriptors'}, 'descriptors:root': {'@module': 'etsi-nfv-descriptors', '@namespace': 'urn:etsi:nfv:yang:etsi-nfv-descriptors'}, 'vnf:root': {'@module': 'etsi-nfv-descriptors', '@namespace': 'urn:etsi:nfv:yang:etsi-nfv-descriptors'}, 'leaf': {'@module': 'etsi-nfv-descriptors', '@namespace': 'urn:etsi:nfv:yang:etsi-nfv-descriptors'}, 'etsi-nfv-descriptors:leaf': {'@module': 'etsi-nfv-descriptors', '@namespace': 'urn:etsi:nfv:yang:etsi-nfv-descriptors'}, 'nfv:leaf': {'@module': 'etsi-nfv-descriptors', '@namespace': 'urn:etsi:nfv:yang:etsi-nfv-descriptors'}, 'descriptors:leaf': {'@module': 'etsi-nfv-descriptors', '@namespace': 'urn:etsi:nfv:yang:etsi-nfv-descriptors'}, 'vnf:leaf': {'@module': 'etsi-nfv-descriptors', '@namespace': 'urn:etsi:nfv:yang:etsi-nfv-descriptors'}},), is_leaf=True, yang_name="role", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='urn:etsi:nfv:yang:etsi-nfv-vnfd', defining_module='etsi-nfv-vnfd', yang_type='identityref', is_config=True)

2257

2258

2259 def _get_description(self):

2260 """

2261 Getter method for description, mapped from YANG variable /vnfd/vdu/int_cpd/description (string)

2262

2263 YANG Description: Provides human-readable information on the purpose of the

2264 connection point (e.g. connection point for control plane

2265 traffic).

2266 """

2267 return self.__description

2268

2269 def _set_description(self, v, load=False):

2270 """

2271 Setter method for description, mapped from YANG variable /vnfd/vdu/int_cpd/description (string)

2272 If this variable is read-only (config: false) in the

2273 source YANG file, then _set_description is considered as a private

2274 method. Backends looking to populate this variable should

2275 do so via calling thisObj._set_description() directly.

2276

2277 YANG Description: Provides human-readable information on the purpose of the

2278 connection point (e.g. connection point for control plane

2279 traffic).

2280 """

2281 if hasattr(v, "_utype"):

2282 v = v._utype(v)

2283 try:

2284 t = YANGDynClass(v,base=str, is_leaf=True, yang_name="description", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='urn:etsi:nfv:yang:etsi-nfv-vnfd', defining_module='etsi-nfv-vnfd', yang_type='string', is_config=True)

2285 except (TypeError, ValueError):

2286 raise ValueError({

2287 'error-string': """description must be of a type compatible with string""",

2288 'defined-type': "string",

2289 'generated-type': """YANGDynClass(base=str, is_leaf=True, yang_name="description", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='urn:etsi:nfv:yang:etsi-nfv-vnfd', defining_module='etsi-nfv-vnfd', yang_type='string', is_config=True)""",

2290 })

2291

2292 self.__description = t

2293 if hasattr(self, '_set'):

2294 self._set()

2295

2296 def _unset_description(self):

2297 self.__description = YANGDynClass(base=str, is_leaf=True, yang_name="description", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='urn:etsi:nfv:yang:etsi-nfv-vnfd', defining_module='etsi-nfv-vnfd', yang_type='string', is_config=True)

2298

2299

2300 def _get_protocol(self):

2301 """

2302 Getter method for protocol, mapped from YANG variable /vnfd/vdu/int_cpd/protocol (list)

2303

2304 YANG Description: Identifies the protocol layering information the CP uses for

2305 connectivity purposes and associated information. There shall

2306 be one cpProtocol for each layer protocol as indicated by the

2307 attribute layerProtocol. When a PnfExtCpd as defined in ETSI

2308 GS NFV-IFA 014 [i.8] is inherited from this Cpd, the

2309 cardinality is set to 0.

2310 """

2311 return self.__protocol

2312

2313 def _set_protocol(self, v, load=False):

2314 """

2315 Setter method for protocol, mapped from YANG variable /vnfd/vdu/int_cpd/protocol (list)

2316 If this variable is read-only (config: false) in the

2317 source YANG file, then _set_protocol is considered as a private

2318 method. Backends looking to populate this variable should

2319 do so via calling thisObj._set_protocol() directly.

2320

2321 YANG Description: Identifies the protocol layering information the CP uses for

2322 connectivity purposes and associated information. There shall

2323 be one cpProtocol for each layer protocol as indicated by the

2324 attribute layerProtocol. When a PnfExtCpd as defined in ETSI

2325 GS NFV-IFA 014 [i.8] is inherited from this Cpd, the

2326 cardinality is set to 0.

2327 """

2328 if hasattr(v, "_utype"):

2329 v = v._utype(v)

2330 try:

2331 t = YANGDynClass(v,base=YANGListType("associated_layer_protocol",yc_protocol_etsi_nfv_vnfd__vnfd_vdu_int_cpd_protocol, yang_name="protocol", parent=self, is_container='list', user_ordered=False, path_helper=self._path_helper, yang_keys='associated-layer-protocol', extensions=None), is_container='list', yang_name="protocol", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, extensions=None, namespace='urn:etsi:nfv:yang:etsi-nfv-vnfd', defining_module='etsi-nfv-vnfd', yang_type='list', is_config=True)

2332 except (TypeError, ValueError):

2333 raise ValueError({

2334 'error-string': """protocol must be of a type compatible with list""",

2335 'defined-type': "list",

2336 'generated-type': """YANGDynClass(base=YANGListType("associated_layer_protocol",yc_protocol_etsi_nfv_vnfd__vnfd_vdu_int_cpd_protocol, yang_name="protocol", parent=self, is_container='list', user_ordered=False, path_helper=self._path_helper, yang_keys='associated-layer-protocol', extensions=None), is_container='list', yang_name="protocol", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, extensions=None, namespace='urn:etsi:nfv:yang:etsi-nfv-vnfd', defining_module='etsi-nfv-vnfd', yang_type='list', is_config=True)""",

2337 })

2338

2339 self.__protocol = t

2340 if hasattr(self, '_set'):

2341 self._set()

2342

2343 def _unset_protocol(self):

2344 self.__protocol = YANGDynClass(base=YANGListType("associated_layer_protocol",yc_protocol_etsi_nfv_vnfd__vnfd_vdu_int_cpd_protocol, yang_name="protocol", parent=self, is_container='list', user_ordered=False, path_helper=self._path_helper, yang_keys='associated-layer-protocol', extensions=None), is_container='list', yang_name="protocol", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, extensions=None, namespace='urn:etsi:nfv:yang:etsi-nfv-vnfd', defining_module='etsi-nfv-vnfd', yang_type='list', is_config=True)

2345

2346

2347 def _get_trunk_mode(self):

2348 """

2349 Getter method for trunk_mode, mapped from YANG variable /vnfd/vdu/int_cpd/trunk_mode (boolean)

2350

2351 YANG Description: Information about whether the Cp instantiated from this CPD

2352 is in Trunk mode (802.1Q or other). When operating in

2353'trunk mode', the Cp is capable of carrying traffic for

2354 several VLANs. A cardinality of 0 implies that trunkMode

2355 is not configured for the Cp i.e. It is equivalent to

2356 Boolean value 'false'.

2357 """

2358 return self.__trunk_mode

2359

2360 def _set_trunk_mode(self, v, load=False):

2361 """

2362 Setter method for trunk_mode, mapped from YANG variable /vnfd/vdu/int_cpd/trunk_mode (boolean)

2363 If this variable is read-only (config: false) in the

2364 source YANG file, then _set_trunk_mode is considered as a private

2365 method. Backends looking to populate this variable should

2366 do so via calling thisObj._set_trunk_mode() directly.

2367

2368 YANG Description: Information about whether the Cp instantiated from this CPD

2369 is in Trunk mode (802.1Q or other). When operating in

2370'trunk mode', the Cp is capable of carrying traffic for

2371 several VLANs. A cardinality of 0 implies that trunkMode

2372 is not configured for the Cp i.e. It is equivalent to

2373 Boolean value 'false'.

2374 """

2375 if hasattr(v, "_utype"):

2376 v = v._utype(v)

2377 try:

2378 t = YANGDynClass(v,base=YANGBool, is_leaf=True, yang_name="trunk-mode", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='urn:etsi:nfv:yang:etsi-nfv-vnfd', defining_module='etsi-nfv-vnfd', yang_type='boolean', is_config=True)

2379 except (TypeError, ValueError):

2380 raise ValueError({

2381 'error-string': """trunk_mode must be of a type compatible with boolean""",

2382 'defined-type': "boolean",

2383 'generated-type': """YANGDynClass(base=YANGBool, is_leaf=True, yang_name="trunk-mode", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='urn:etsi:nfv:yang:etsi-nfv-vnfd', defining_module='etsi-nfv-vnfd', yang_type='boolean', is_config=True)""",

2384 })

2385

2386 self.__trunk_mode = t

2387 if hasattr(self, '_set'):

2388 self._set()

2389

2390 def _unset_trunk_mode(self):

2391 self.__trunk_mode = YANGDynClass(base=YANGBool, is_leaf=True, yang_name="trunk-mode", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='urn:etsi:nfv:yang:etsi-nfv-vnfd', defining_module='etsi-nfv-vnfd', yang_type='boolean', is_config=True)

2392

2393

2394 def _get_security_group_rule_id(self):

2395 """

2396 Getter method for security_group_rule_id, mapped from YANG variable /vnfd/vdu/int_cpd/security_group_rule_id (leafref)

2397

2398 YANG Description: Reference of the security group rules bound to this

2399 CPD.

2400 """

2401 return self.__security_group_rule_id

2402

2403 def _set_security_group_rule_id(self, v, load=False):

2404 """

2405 Setter method for security_group_rule_id, mapped from YANG variable /vnfd/vdu/int_cpd/security_group_rule_id (leafref)

2406 If this variable is read-only (config: false) in the

2407 source YANG file, then _set_security_group_rule_id is considered as a private

2408 method. Backends looking to populate this variable should

2409 do so via calling thisObj._set_security_group_rule_id() directly.

2410

2411 YANG Description: Reference of the security group rules bound to this

2412 CPD.

2413 """

2414 if hasattr(v, "_utype"):

2415 v = v._utype(v)

2416 try:

2417 t = YANGDynClass(v,base=str, is_leaf=True, yang_name="security-group-rule-id", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='urn:etsi:nfv:yang:etsi-nfv-vnfd', defining_module='etsi-nfv-vnfd', yang_type='leafref', is_config=True)

2418 except (TypeError, ValueError):

2419 raise ValueError({

2420 'error-string': """security_group_rule_id must be of a type compatible with leafref""",

2421 'defined-type': "leafref",

2422 'generated-type': """YANGDynClass(base=str, is_leaf=True, yang_name="security-group-rule-id", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='urn:etsi:nfv:yang:etsi-nfv-vnfd', defining_module='etsi-nfv-vnfd', yang_type='leafref', is_config=True)""",

2423 })

2424

2425 self.__security_group_rule_id = t

2426 if hasattr(self, '_set'):

2427 self._set()

2428

2429 def _unset_security_group_rule_id(self):

2430 self.__security_group_rule_id = YANGDynClass(base=str, is_leaf=True, yang_name="security-group-rule-id", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='urn:etsi:nfv:yang:etsi-nfv-vnfd', defining_module='etsi-nfv-vnfd', yang_type='leafref', is_config=True)

2431

2432

2433 def _get_port_security_enabled(self):

2434 """

2435 Getter method for port_security_enabled, mapped from YANG variable /vnfd/vdu/int_cpd/port_security_enabled (boolean)

2436

2437 YANG Description: Enables the port security for the port.

2438 """

2439 return self.__port_security_enabled

2440

2441 def _set_port_security_enabled(self, v, load=False):

2442 """

2443 Setter method for port_security_enabled, mapped from YANG variable /vnfd/vdu/int_cpd/port_security_enabled (boolean)

2444 If this variable is read-only (config: false) in the

2445 source YANG file, then _set_port_security_enabled is considered as a private

2446 method. Backends looking to populate this variable should

2447 do so via calling thisObj._set_port_security_enabled() directly.

2448

2449 YANG Description: Enables the port security for the port.

2450 """

2451 if hasattr(v, "_utype"):

2452 v = v._utype(v)

2453 try:

2454 t = YANGDynClass(v,base=YANGBool, default=YANGBool("true"), is_leaf=True, yang_name="port-security-enabled", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='urn:etsi:osm:yang:augments:various', defining_module='various', yang_type='boolean', is_config=True)

2455 except (TypeError, ValueError):

2456 raise ValueError({

2457 'error-string': """port_security_enabled must be of a type compatible with boolean""",

2458 'defined-type': "boolean",

2459 'generated-type': """YANGDynClass(base=YANGBool, default=YANGBool("true"), is_leaf=True, yang_name="port-security-enabled", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='urn:etsi:osm:yang:augments:various', defining_module='various', yang_type='boolean', is_config=True)""",

2460 })

2461

2462 self.__port_security_enabled = t

2463 if hasattr(self, '_set'):

2464 self._set()

2465

2466 def _unset_port_security_enabled(self):

2467 self.__port_security_enabled = YANGDynClass(base=YANGBool, default=YANGBool("true"), is_leaf=True, yang_name="port-security-enabled", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='urn:etsi:osm:yang:augments:various', defining_module='various', yang_type='boolean', is_config=True)

2468

2469

2470 def _get_port_security_disable_strategy(self):

2471 """

2472 Getter method for port_security_disable_strategy, mapped from YANG variable /vnfd/vdu/int_cpd/port_security_disable_strategy (enumeration)

2473

2474 YANG Description: Strategy to disable port security, either Enables the port security for the port.

2475 full : disable port security in the whole port

2476 allow-address-pairs : allow address pairs for virtual IP (any virtual IP can be configured)

2477 """

2478 return self.__port_security_disable_strategy

2479

2480 def _set_port_security_disable_strategy(self, v, load=False):

2481 """

2482 Setter method for port_security_disable_strategy, mapped from YANG variable /vnfd/vdu/int_cpd/port_security_disable_strategy (enumeration)

2483 If this variable is read-only (config: false) in the

2484 source YANG file, then _set_port_security_disable_strategy is considered as a private

2485 method. Backends looking to populate this variable should

2486 do so via calling thisObj._set_port_security_disable_strategy() directly.

2487

2488 YANG Description: Strategy to disable port security, either Enables the port security for the port.

2489 full : disable port security in the whole port

2490 allow-address-pairs : allow address pairs for virtual IP (any virtual IP can be configured)

2491 """

2492 if hasattr(v, "_utype"):

2493 v = v._utype(v)

2494 try:

2495 t = YANGDynClass(v,base=RestrictedClassType(base_type=str, restriction_type="dict_key", restriction_arg={'full': {}, 'allow-address-pairs': {}},), default=str("full"), is_leaf=True, yang_name="port-security-disable-strategy", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='urn:etsi:osm:yang:augments:various', defining_module='various', yang_type='enumeration', is_config=True)

2496 except (TypeError, ValueError):

2497 raise ValueError({

2498 'error-string': """port_security_disable_strategy must be of a type compatible with enumeration""",

2499 'defined-type': "various:enumeration",

2500 'generated-type': """YANGDynClass(base=RestrictedClassType(base_type=str, restriction_type="dict_key", restriction_arg={'full': {}, 'allow-address-pairs': {}},), default=str("full"), is_leaf=True, yang_name="port-security-disable-strategy", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='urn:etsi:osm:yang:augments:various', defining_module='various', yang_type='enumeration', is_config=True)""",

2501 })

2502

2503 self.__port_security_disable_strategy = t

2504 if hasattr(self, '_set'):

2505 self._set()

2506

2507 def _unset_port_security_disable_strategy(self):

2508 self.__port_security_disable_strategy = YANGDynClass(base=RestrictedClassType(base_type=str, restriction_type="dict_key", restriction_arg={'full': {}, 'allow-address-pairs': {}},), default=str("full"), is_leaf=True, yang_name="port-security-disable-strategy", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='urn:etsi:osm:yang:augments:various', defining_module='various', yang_type='enumeration', is_config=True)

2509

2510 int_virtual_link_desc = __builtin__.property(_get_int_virtual_link_desc, _set_int_virtual_link_desc)

2511 bitrate_requirement = __builtin__.property(_get_bitrate_requirement, _set_bitrate_requirement)

2512 virtual_network_interface_requirement = __builtin__.property(_get_virtual_network_interface_requirement, _set_virtual_network_interface_requirement)

2513 nicio_requirements = __builtin__.property(_get_nicio_requirements, _set_nicio_requirements)

2514 order = __builtin__.property(_get_order, _set_order)

2515 id = __builtin__.property(_get_id, _set_id)

2516 layer_protocol = __builtin__.property(_get_layer_protocol, _set_layer_protocol)

2517 role = __builtin__.property(_get_role, _set_role)

2518 description = __builtin__.property(_get_description, _set_description)

2519 protocol = __builtin__.property(_get_protocol, _set_protocol)

2520 trunk_mode = __builtin__.property(_get_trunk_mode, _set_trunk_mode)

2521 security_group_rule_id = __builtin__.property(_get_security_group_rule_id, _set_security_group_rule_id)

2522 port_security_enabled = __builtin__.property(_get_port_security_enabled, _set_port_security_enabled)

2523 port_security_disable_strategy = __builtin__.property(_get_port_security_disable_strategy, _set_port_security_disable_strategy)

2524

2525

2526 _pyangbind_elements = OrderedDict([('int_virtual_link_desc', int_virtual_link_desc), ('bitrate_requirement', bitrate_requirement), ('virtual_network_interface_requirement', virtual_network_interface_requirement), ('nicio_requirements', nicio_requirements), ('order', order), ('id', id), ('layer_protocol', layer_protocol), ('role', role), ('description', description), ('protocol', protocol), ('trunk_mode', trunk_mode), ('security_group_rule_id', security_group_rule_id), ('port_security_enabled', port_security_enabled), ('port_security_disable_strategy', port_security_disable_strategy), ])

2527

2528

2529 class yc_boot_order_etsi_nfv_vnfd__vnfd_vdu_boot_order(PybindBase):

2530 """

2531 This class was auto-generated by the PythonClass plugin for PYANG

2532 from YANG module etsi-nfv-vnfd - based on the path /vnfd/vdu/boot-order. Each member element of

2533 the container is represented as a class variable - with a specific

2534 YANG type.

2535

2536 YANG Description: The key indicates the boot index (lowest index defines

2537 highest boot priority). The Value references a descriptor

2538 from which a valid boot device is created e.g.

2539 VirtualStorageDesc from which a VirtualStorage instance

2540 is created.

2541

2542 Editor's note: The boot-order node requires further

2543 study.

2544 """

2545 __slots__ = ('_path_helper', '_extmethods', '__key','__value',)

2546

2547 _yang_name = 'boot-order'

2548 _yang_namespace = 'urn:etsi:nfv:yang:etsi-nfv-vnfd'

2549

2550 _pybind_generated_by = 'container'

2551

2552 def __init__(self, *args, **kwargs):

2553

2554 self._path_helper = False

2555

2556 self._extmethods = False

2557 self.__key = YANGDynClass(base=RestrictedClassType(base_type=long, restriction_dict={'range': ['0..4294967295']}, int_size=32), is_leaf=True, yang_name="key", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, is_keyval=True, namespace='urn:etsi:nfv:yang:etsi-nfv-vnfd', defining_module='etsi-nfv-vnfd', yang_type='uint32', is_config=True)

2558 self.__value = YANGDynClass(base=str, is_leaf=True, yang_name="value", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='urn:etsi:nfv:yang:etsi-nfv-vnfd', defining_module='etsi-nfv-vnfd', yang_type='leafref', is_config=True)

2559

2560 load = kwargs.pop("load", None)

2561 if args:

2562 if len(args) > 1:

2563 raise TypeError("cannot create a YANG container with >1 argument")

2564 all_attr = True

2565 for e in self._pyangbind_elements:

2566 if not hasattr(args[0], e):

2567 all_attr = False

2568 break

2569 if not all_attr:

2570 raise ValueError("Supplied object did not have the correct attributes")

2571 for e in self._pyangbind_elements:

2572 nobj = getattr(args[0], e)

2573 if nobj._changed() is False:

2574 continue

2575 setmethod = getattr(self, "_set_%s" % e)

2576 if load is None:

2577 setmethod(getattr(args[0], e))

2578 else:

2579 setmethod(getattr(args[0], e), load=load)

2580

2581 def _path(self):

2582 if hasattr(self, "_parent"):

2583 return self._parent._path()+[self._yang_name]

2584 else:

2585 return ['vnfd', 'vdu', 'boot-order']

2586

2587 def _get_key(self):

2588 """

2589 Getter method for key, mapped from YANG variable /vnfd/vdu/boot_order/key (uint32)

2590 """

2591 return self.__key

2592

2593 def _set_key(self, v, load=False):

2594 """

2595 Setter method for key, mapped from YANG variable /vnfd/vdu/boot_order/key (uint32)

2596 If this variable is read-only (config: false) in the

2597 source YANG file, then _set_key is considered as a private

2598 method. Backends looking to populate this variable should

2599 do so via calling thisObj._set_key() directly.

2600 """

2601 parent = getattr(self, "_parent", None)

2602 if parent is not None and load is False:

2603 raise AttributeError("Cannot set keys directly when" +

2604 " within an instantiated list")

2605

2606 if hasattr(v, "_utype"):

2607 v = v._utype(v)

2608 try:

2609 t = YANGDynClass(v,base=RestrictedClassType(base_type=long, restriction_dict={'range': ['0..4294967295']}, int_size=32), is_leaf=True, yang_name="key", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, is_keyval=True, namespace='urn:etsi:nfv:yang:etsi-nfv-vnfd', defining_module='etsi-nfv-vnfd', yang_type='uint32', is_config=True)

2610 except (TypeError, ValueError):

2611 raise ValueError({

2612 'error-string': """key must be of a type compatible with uint32""",

2613 'defined-type': "uint32",

2614 'generated-type': """YANGDynClass(base=RestrictedClassType(base_type=long, restriction_dict={'range': ['0..4294967295']}, int_size=32), is_leaf=True, yang_name="key", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, is_keyval=True, namespace='urn:etsi:nfv:yang:etsi-nfv-vnfd', defining_module='etsi-nfv-vnfd', yang_type='uint32', is_config=True)""",

2615 })

2616

2617 self.__key = t

2618 if hasattr(self, '_set'):

2619 self._set()

2620

2621 def _unset_key(self):

2622 self.__key = YANGDynClass(base=RestrictedClassType(base_type=long, restriction_dict={'range': ['0..4294967295']}, int_size=32), is_leaf=True, yang_name="key", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, is_keyval=True, namespace='urn:etsi:nfv:yang:etsi-nfv-vnfd', defining_module='etsi-nfv-vnfd', yang_type='uint32', is_config=True)

2623

2624

2625 def _get_value(self):

2626 """

2627 Getter method for value, mapped from YANG variable /vnfd/vdu/boot_order/value (leafref)

2628 """

2629 return self.__value

2630

2631 def _set_value(self, v, load=False):

2632 """

2633 Setter method for value, mapped from YANG variable /vnfd/vdu/boot_order/value (leafref)

2634 If this variable is read-only (config: false) in the

2635 source YANG file, then _set_value is considered as a private

2636 method. Backends looking to populate this variable should

2637 do so via calling thisObj._set_value() directly.

2638 """

2639 if hasattr(v, "_utype"):

2640 v = v._utype(v)

2641 try:

2642 t = YANGDynClass(v,base=str, is_leaf=True, yang_name="value", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='urn:etsi:nfv:yang:etsi-nfv-vnfd', defining_module='etsi-nfv-vnfd', yang_type='leafref', is_config=True)

2643 except (TypeError, ValueError):

2644 raise ValueError({

2645 'error-string': """value must be of a type compatible with leafref""",

2646 'defined-type': "leafref",

2647 'generated-type': """YANGDynClass(base=str, is_leaf=True, yang_name="value", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='urn:etsi:nfv:yang:etsi-nfv-vnfd', defining_module='etsi-nfv-vnfd', yang_type='leafref', is_config=True)""",

2648 })

2649

2650 self.__value = t

2651 if hasattr(self, '_set'):

2652 self._set()

2653

2654 def _unset_value(self):

2655 self.__value = YANGDynClass(base=str, is_leaf=True, yang_name="value", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='urn:etsi:nfv:yang:etsi-nfv-vnfd', defining_module='etsi-nfv-vnfd', yang_type='leafref', is_config=True)

2656

2657 key = __builtin__.property(_get_key, _set_key)

2658 value = __builtin__.property(_get_value, _set_value)

2659

2660

2661 _pyangbind_elements = OrderedDict([('key', key), ('value', value), ])

2662

2663

2664 class yc_monitoring_parameter_etsi_nfv_vnfd__vnfd_vdu_monitoring_parameter(PybindBase):

2665 """

2666 This class was auto-generated by the PythonClass plugin for PYANG

2667 from YANG module etsi-nfv-vnfd - based on the path /vnfd/vdu/monitoring-parameter. Each member element of

2668 the container is represented as a class variable - with a specific

2669 YANG type.

2670 """

2671 __slots__ = ('_path_helper', '_extmethods', '__id','__name','__performance_metric','__collection_period',)

2672

2673 _yang_name = 'monitoring-parameter'

2674 _yang_namespace = 'urn:etsi:nfv:yang:etsi-nfv-vnfd'

2675

2676 _pybind_generated_by = 'container'

2677

2678 def __init__(self, *args, **kwargs):

2679

2680 self._path_helper = False

2681

2682 self._extmethods = False

2683 self.__id = YANGDynClass(base=str, is_leaf=True, yang_name="id", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, is_keyval=True, namespace='urn:etsi:nfv:yang:etsi-nfv-vnfd', defining_module='etsi-nfv-vnfd', yang_type='string', is_config=True)

2684 self.__name = YANGDynClass(base=str, is_leaf=True, yang_name="name", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='urn:etsi:nfv:yang:etsi-nfv-vnfd', defining_module='etsi-nfv-vnfd', yang_type='string', is_config=True)

2685 self.__performance_metric = YANGDynClass(base=str, is_leaf=True, yang_name="performance-metric", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='urn:etsi:nfv:yang:etsi-nfv-vnfd', defining_module='etsi-nfv-vnfd', yang_type='string', is_config=True)

2686 self.__collection_period = YANGDynClass(base=RestrictedClassType(base_type=long, restriction_dict={'range': ['0..18446744073709551615']}, int_size=64), is_leaf=True, yang_name="collection-period", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='urn:etsi:nfv:yang:etsi-nfv-vnfd', defining_module='etsi-nfv-vnfd', yang_type='uint64', is_config=True)

2687

2688 load = kwargs.pop("load", None)

2689 if args:

2690 if len(args) > 1:

2691 raise TypeError("cannot create a YANG container with >1 argument")

2692 all_attr = True

2693 for e in self._pyangbind_elements:

2694 if not hasattr(args[0], e):

2695 all_attr = False

2696 break

2697 if not all_attr:

2698 raise ValueError("Supplied object did not have the correct attributes")

2699 for e in self._pyangbind_elements:

2700 nobj = getattr(args[0], e)

2701 if nobj._changed() is False:

2702 continue

2703 setmethod = getattr(self, "_set_%s" % e)

2704 if load is None:

2705 setmethod(getattr(args[0], e))

2706 else:

2707 setmethod(getattr(args[0], e), load=load)

2708

2709 def _path(self):

2710 if hasattr(self, "_parent"):

2711 return self._parent._path()+[self._yang_name]

2712 else:

2713 return ['vnfd', 'vdu', 'monitoring-parameter']

2714

2715 def _get_id(self):

2716 """

2717 Getter method for id, mapped from YANG variable /vnfd/vdu/monitoring_parameter/id (string)

2718

2719 YANG Description: Unique identifier of the monitoring parameter.

2720 """

2721 return self.__id

2722

2723 def _set_id(self, v, load=False):

2724 """

2725 Setter method for id, mapped from YANG variable /vnfd/vdu/monitoring_parameter/id (string)

2726 If this variable is read-only (config: false) in the

2727 source YANG file, then _set_id is considered as a private

2728 method. Backends looking to populate this variable should

2729 do so via calling thisObj._set_id() directly.

2730

2731 YANG Description: Unique identifier of the monitoring parameter.

2732 """

2733 parent = getattr(self, "_parent", None)

2734 if parent is not None and load is False:

2735 raise AttributeError("Cannot set keys directly when" +

2736 " within an instantiated list")

2737

2738 if hasattr(v, "_utype"):

2739 v = v._utype(v)

2740 try:

2741 t = YANGDynClass(v,base=str, is_leaf=True, yang_name="id", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, is_keyval=True, namespace='urn:etsi:nfv:yang:etsi-nfv-vnfd', defining_module='etsi-nfv-vnfd', yang_type='string', is_config=True)

2742 except (TypeError, ValueError):

2743 raise ValueError({

2744 'error-string': """id must be of a type compatible with string""",

2745 'defined-type': "string",

2746 'generated-type': """YANGDynClass(base=str, is_leaf=True, yang_name="id", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, is_keyval=True, namespace='urn:etsi:nfv:yang:etsi-nfv-vnfd', defining_module='etsi-nfv-vnfd', yang_type='string', is_config=True)""",

2747 })

2748

2749 self.__id = t

2750 if hasattr(self, '_set'):

2751 self._set()

2752

2753 def _unset_id(self):

2754 self.__id = YANGDynClass(base=str, is_leaf=True, yang_name="id", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, is_keyval=True, namespace='urn:etsi:nfv:yang:etsi-nfv-vnfd', defining_module='etsi-nfv-vnfd', yang_type='string', is_config=True)

2755

2756

2757 def _get_name(self):

2758 """

2759 Getter method for name, mapped from YANG variable /vnfd/vdu/monitoring_parameter/name (string)

2760

2761 YANG Description: Human readable name of the monitoring parameter.

2762 """

2763 return self.__name

2764

2765 def _set_name(self, v, load=False):

2766 """

2767 Setter method for name, mapped from YANG variable /vnfd/vdu/monitoring_parameter/name (string)

2768 If this variable is read-only (config: false) in the

2769 source YANG file, then _set_name is considered as a private

2770 method. Backends looking to populate this variable should

2771 do so via calling thisObj._set_name() directly.

2772

2773 YANG Description: Human readable name of the monitoring parameter.

2774 """

2775 if hasattr(v, "_utype"):

2776 v = v._utype(v)

2777 try:

2778 t = YANGDynClass(v,base=str, is_leaf=True, yang_name="name", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='urn:etsi:nfv:yang:etsi-nfv-vnfd', defining_module='etsi-nfv-vnfd', yang_type='string', is_config=True)

2779 except (TypeError, ValueError):

2780 raise ValueError({

2781 'error-string': """name must be of a type compatible with string""",

2782 'defined-type': "string",

2783 'generated-type': """YANGDynClass(base=str, is_leaf=True, yang_name="name", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='urn:etsi:nfv:yang:etsi-nfv-vnfd', defining_module='etsi-nfv-vnfd', yang_type='string', is_config=True)""",

2784 })

2785

2786 self.__name = t

2787 if hasattr(self, '_set'):

2788 self._set()

2789

2790 def _unset_name(self):

2791 self.__name = YANGDynClass(base=str, is_leaf=True, yang_name="name", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='urn:etsi:nfv:yang:etsi-nfv-vnfd', defining_module='etsi-nfv-vnfd', yang_type='string', is_config=True)

2792

2793

2794 def _get_performance_metric(self):

2795 """

2796 Getter method for performance_metric, mapped from YANG variable /vnfd/vdu/monitoring_parameter/performance_metric (string)

2797

2798 YANG Description: Performance metric that is monitored. This attribute shall

2799 contain the related 'Measurement Name' value as defined in

2800 clause 7.2 of ETSI GS NFV-IFA 027

2801 """

2802 return self.__performance_metric

2803

2804 def _set_performance_metric(self, v, load=False):

2805 """

2806 Setter method for performance_metric, mapped from YANG variable /vnfd/vdu/monitoring_parameter/performance_metric (string)

2807 If this variable is read-only (config: false) in the

2808 source YANG file, then _set_performance_metric is considered as a private

2809 method. Backends looking to populate this variable should

2810 do so via calling thisObj._set_performance_metric() directly.

2811

2812 YANG Description: Performance metric that is monitored. This attribute shall

2813 contain the related 'Measurement Name' value as defined in

2814 clause 7.2 of ETSI GS NFV-IFA 027

2815 """

2816 if hasattr(v, "_utype"):

2817 v = v._utype(v)

2818 try:

2819 t = YANGDynClass(v,base=str, is_leaf=True, yang_name="performance-metric", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='urn:etsi:nfv:yang:etsi-nfv-vnfd', defining_module='etsi-nfv-vnfd', yang_type='string', is_config=True)

2820 except (TypeError, ValueError):

2821 raise ValueError({

2822 'error-string': """performance_metric must be of a type compatible with string""",

2823 'defined-type': "string",

2824 'generated-type': """YANGDynClass(base=str, is_leaf=True, yang_name="performance-metric", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='urn:etsi:nfv:yang:etsi-nfv-vnfd', defining_module='etsi-nfv-vnfd', yang_type='string', is_config=True)""",

2825 })

2826

2827 self.__performance_metric = t

2828 if hasattr(self, '_set'):

2829 self._set()

2830

2831 def _unset_performance_metric(self):

2832 self.__performance_metric = YANGDynClass(base=str, is_leaf=True, yang_name="performance-metric", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='urn:etsi:nfv:yang:etsi-nfv-vnfd', defining_module='etsi-nfv-vnfd', yang_type='string', is_config=True)

2833

2834

2835 def _get_collection_period(self):

2836 """

2837 Getter method for collection_period, mapped from YANG variable /vnfd/vdu/monitoring_parameter/collection_period (uint64)

2838

2839 YANG Description: An attribute that describes the recommended periodicity at

2840 which to collect the performance information. VNFM determines

2841 if this parameter is considered.

2842

2843 The vendor may provide this information as a guidance for

2844 creating PmJobs if needed.

2845 """

2846 return self.__collection_period

2847

2848 def _set_collection_period(self, v, load=False):

2849 """

2850 Setter method for collection_period, mapped from YANG variable /vnfd/vdu/monitoring_parameter/collection_period (uint64)

2851 If this variable is read-only (config: false) in the

2852 source YANG file, then _set_collection_period is considered as a private

2853 method. Backends looking to populate this variable should

2854 do so via calling thisObj._set_collection_period() directly.

2855

2856 YANG Description: An attribute that describes the recommended periodicity at

2857 which to collect the performance information. VNFM determines

2858 if this parameter is considered.

2859

2860 The vendor may provide this information as a guidance for

2861 creating PmJobs if needed.

2862 """

2863 if hasattr(v, "_utype"):

2864 v = v._utype(v)

2865 try:

2866 t = YANGDynClass(v,base=RestrictedClassType(base_type=long, restriction_dict={'range': ['0..18446744073709551615']}, int_size=64), is_leaf=True, yang_name="collection-period", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='urn:etsi:nfv:yang:etsi-nfv-vnfd', defining_module='etsi-nfv-vnfd', yang_type='uint64', is_config=True)

2867 except (TypeError, ValueError):

2868 raise ValueError({

2869 'error-string': """collection_period must be of a type compatible with uint64""",

2870 'defined-type': "uint64",

2871 'generated-type': """YANGDynClass(base=RestrictedClassType(base_type=long, restriction_dict={'range': ['0..18446744073709551615']}, int_size=64), is_leaf=True, yang_name="collection-period", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='urn:etsi:nfv:yang:etsi-nfv-vnfd', defining_module='etsi-nfv-vnfd', yang_type='uint64', is_config=True)""",

2872 })

2873

2874 self.__collection_period = t

2875 if hasattr(self, '_set'):

2876 self._set()

2877

2878 def _unset_collection_period(self):

2879 self.__collection_period = YANGDynClass(base=RestrictedClassType(base_type=long, restriction_dict={'range': ['0..18446744073709551615']}, int_size=64), is_leaf=True, yang_name="collection-period", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='urn:etsi:nfv:yang:etsi-nfv-vnfd', defining_module='etsi-nfv-vnfd', yang_type='uint64', is_config=True)

2880

2881 id = __builtin__.property(_get_id, _set_id)

2882 name = __builtin__.property(_get_name, _set_name)

2883 performance_metric = __builtin__.property(_get_performance_metric, _set_performance_metric)

2884 collection_period = __builtin__.property(_get_collection_period, _set_collection_period)

2885

2886

2887 _pyangbind_elements = OrderedDict([('id', id), ('name', name), ('performance_metric', performance_metric), ('collection_period', collection_period), ])

2888

2889

2890 class yc_configurable_properties_etsi_nfv_vnfd__vnfd_vdu_configurable_properties(PybindBase):

2891 """

2892 This class was auto-generated by the PythonClass plugin for PYANG

2893 from YANG module etsi-nfv-vnfd - based on the path /vnfd/vdu/configurable-properties. Each member element of

2894 the container is represented as a class variable - with a specific

2895 YANG type.

2896

2897 YANG Description: It provides VNFC configurable properties that can be

2898 modified using the ModifyVnfInfo operation.

2899 """

2900 __slots__ = ('_path_helper', '_extmethods', '__key','__value',)

2901

2902 _yang_name = 'configurable-properties'

2903 _yang_namespace = 'urn:etsi:nfv:yang:etsi-nfv-vnfd'

2904

2905 _pybind_generated_by = 'container'

2906

2907 def __init__(self, *args, **kwargs):

2908

2909 self._path_helper = False

2910

2911 self._extmethods = False

2912 self.__key = YANGDynClass(base=str, is_leaf=True, yang_name="key", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, is_keyval=True, namespace='urn:etsi:nfv:yang:etsi-nfv-vnfd', defining_module='etsi-nfv-vnfd', yang_type='string', is_config=True)

2913 self.__value = YANGDynClass(base=str, is_leaf=True, yang_name="value", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='urn:etsi:nfv:yang:etsi-nfv-vnfd', defining_module='etsi-nfv-vnfd', yang_type='string', is_config=True)

2914

2915 load = kwargs.pop("load", None)

2916 if args:

2917 if len(args) > 1:

2918 raise TypeError("cannot create a YANG container with >1 argument")

2919 all_attr = True

2920 for e in self._pyangbind_elements:

2921 if not hasattr(args[0], e):

2922 all_attr = False

2923 break

2924 if not all_attr:

2925 raise ValueError("Supplied object did not have the correct attributes")

2926 for e in self._pyangbind_elements:

2927 nobj = getattr(args[0], e)

2928 if nobj._changed() is False:

2929 continue

2930 setmethod = getattr(self, "_set_%s" % e)

2931 if load is None:

2932 setmethod(getattr(args[0], e))

2933 else:

2934 setmethod(getattr(args[0], e), load=load)

2935

2936 def _path(self):

2937 if hasattr(self, "_parent"):

2938 return self._parent._path()+[self._yang_name]

2939 else:

2940 return ['vnfd', 'vdu', 'configurable-properties']

2941

2942 def _get_key(self):

2943 """

2944 Getter method for key, mapped from YANG variable /vnfd/vdu/configurable_properties/key (string)

2945 """

2946 return self.__key

2947

2948 def _set_key(self, v, load=False):

2949 """

2950 Setter method for key, mapped from YANG variable /vnfd/vdu/configurable_properties/key (string)

2951 If this variable is read-only (config: false) in the

2952 source YANG file, then _set_key is considered as a private

2953 method. Backends looking to populate this variable should

2954 do so via calling thisObj._set_key() directly.

2955 """

2956 parent = getattr(self, "_parent", None)

2957 if parent is not None and load is False:

2958 raise AttributeError("Cannot set keys directly when" +

2959 " within an instantiated list")

2960

2961 if hasattr(v, "_utype"):

2962 v = v._utype(v)

2963 try:

2964 t = YANGDynClass(v,base=str, is_leaf=True, yang_name="key", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, is_keyval=True, namespace='urn:etsi:nfv:yang:etsi-nfv-vnfd', defining_module='etsi-nfv-vnfd', yang_type='string', is_config=True)

2965 except (TypeError, ValueError):

2966 raise ValueError({

2967 'error-string': """key must be of a type compatible with string""",

2968 'defined-type': "string",

2969 'generated-type': """YANGDynClass(base=str, is_leaf=True, yang_name="key", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, is_keyval=True, namespace='urn:etsi:nfv:yang:etsi-nfv-vnfd', defining_module='etsi-nfv-vnfd', yang_type='string', is_config=True)""",

2970 })

2971

2972 self.__key = t

2973 if hasattr(self, '_set'):

2974 self._set()

2975

2976 def _unset_key(self):

2977 self.__key = YANGDynClass(base=str, is_leaf=True, yang_name="key", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, is_keyval=True, namespace='urn:etsi:nfv:yang:etsi-nfv-vnfd', defining_module='etsi-nfv-vnfd', yang_type='string', is_config=True)

2978

2979

2980 def _get_value(self):

2981 """

2982 Getter method for value, mapped from YANG variable /vnfd/vdu/configurable_properties/value (string)

2983 """

2984 return self.__value

2985

2986 def _set_value(self, v, load=False):

2987 """

2988 Setter method for value, mapped from YANG variable /vnfd/vdu/configurable_properties/value (string)

2989 If this variable is read-only (config: false) in the

2990 source YANG file, then _set_value is considered as a private

2991 method. Backends looking to populate this variable should

2992 do so via calling thisObj._set_value() directly.

2993 """

2994 if hasattr(v, "_utype"):

2995 v = v._utype(v)

2996 try:

2997 t = YANGDynClass(v,base=str, is_leaf=True, yang_name="value", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='urn:etsi:nfv:yang:etsi-nfv-vnfd', defining_module='etsi-nfv-vnfd', yang_type='string', is_config=True)

2998 except (TypeError, ValueError):

2999 raise ValueError({

3000 'error-string': """value must be of a type compatible with string""",

3001 'defined-type': "string",

3002 'generated-type': """YANGDynClass(base=str, is_leaf=True, yang_name="value", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='urn:etsi:nfv:yang:etsi-nfv-vnfd', defining_module='etsi-nfv-vnfd', yang_type='string', is_config=True)""",

3003 })

3004

3005 self.__value = t

3006 if hasattr(self, '_set'):

3007 self._set()

3008

3009 def _unset_value(self):

3010 self.__value = YANGDynClass(base=str, is_leaf=True, yang_name="value", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='urn:etsi:nfv:yang:etsi-nfv-vnfd', defining_module='etsi-nfv-vnfd', yang_type='string', is_config=True)

3011

3012 key = __builtin__.property(_get_key, _set_key)

3013 value = __builtin__.property(_get_value, _set_value)

3014

3015

3016 _pyangbind_elements = OrderedDict([('key', key), ('value', value), ])

3017

3018

3019 class yc_ok_etsi_nfv_vnfd__vnfd_vdu_alarm_actions_ok(PybindBase):

3020 """

3021 This class was auto-generated by the PythonClass plugin for PYANG

3022 from YANG module etsi-nfv-vnfd - based on the path /vnfd/vdu/alarm/actions/ok. Each member element of

3023 the container is represented as a class variable - with a specific

3024 YANG type.

3025 """

3026 __slots__ = ('_path_helper', '_extmethods', '__url',)

3027

3028 _yang_name = 'ok'

3029 _yang_namespace = 'urn:etsi:nfv:yang:etsi-nfv-vnfd'

3030

3031 _pybind_generated_by = 'container'

3032

3033 def __init__(self, *args, **kwargs):

3034

3035 self._path_helper = False

3036

3037 self._extmethods = False

3038 self.__url = YANGDynClass(base=str, is_leaf=True, yang_name="url", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, is_keyval=True, namespace='urn:etsi:osm:yang:augments:alarm', defining_module='alarm', yang_type='string', is_config=True)

3039

3040 load = kwargs.pop("load", None)

3041 if args:

3042 if len(args) > 1:

3043 raise TypeError("cannot create a YANG container with >1 argument")

3044 all_attr = True

3045 for e in self._pyangbind_elements:

3046 if not hasattr(args[0], e):

3047 all_attr = False

3048 break

3049 if not all_attr:

3050 raise ValueError("Supplied object did not have the correct attributes")

3051 for e in self._pyangbind_elements:

3052 nobj = getattr(args[0], e)

3053 if nobj._changed() is False:

3054 continue

3055 setmethod = getattr(self, "_set_%s" % e)

3056 if load is None:

3057 setmethod(getattr(args[0], e))

3058 else:

3059 setmethod(getattr(args[0], e), load=load)

3060

3061 def _path(self):

3062 if hasattr(self, "_parent"):

3063 return self._parent._path()+[self._yang_name]

3064 else:

3065 return ['vnfd', 'vdu', 'alarm', 'actions', 'ok']

3066

3067 def _get_url(self):

3068 """

3069 Getter method for url, mapped from YANG variable /vnfd/vdu/alarm/actions/ok/url (string)

3070 """

3071 return self.__url

3072

3073 def _set_url(self, v, load=False):

3074 """

3075 Setter method for url, mapped from YANG variable /vnfd/vdu/alarm/actions/ok/url (string)

3076 If this variable is read-only (config: false) in the

3077 source YANG file, then _set_url is considered as a private

3078 method. Backends looking to populate this variable should

3079 do so via calling thisObj._set_url() directly.

3080 """

3081 parent = getattr(self, "_parent", None)

3082 if parent is not None and load is False:

3083 raise AttributeError("Cannot set keys directly when" +

3084 " within an instantiated list")

3085

3086 if hasattr(v, "_utype"):

3087 v = v._utype(v)

3088 try:

3089 t = YANGDynClass(v,base=str, is_leaf=True, yang_name="url", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, is_keyval=True, namespace='urn:etsi:osm:yang:augments:alarm', defining_module='alarm', yang_type='string', is_config=True)

3090 except (TypeError, ValueError):

3091 raise ValueError({

3092 'error-string': """url must be of a type compatible with string""",

3093 'defined-type': "string",

3094 'generated-type': """YANGDynClass(base=str, is_leaf=True, yang_name="url", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, is_keyval=True, namespace='urn:etsi:osm:yang:augments:alarm', defining_module='alarm', yang_type='string', is_config=True)""",

3095 })

3096

3097 self.__url = t

3098 if hasattr(self, '_set'):

3099 self._set()

3100

3101 def _unset_url(self):

3102 self.__url = YANGDynClass(base=str, is_leaf=True, yang_name="url", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, is_keyval=True, namespace='urn:etsi:osm:yang:augments:alarm', defining_module='alarm', yang_type='string', is_config=True)

3103

3104 url = __builtin__.property(_get_url, _set_url)

3105

3106

3107 _pyangbind_elements = OrderedDict([('url', url), ])

3108

3109

3110 class yc_insufficient_data_etsi_nfv_vnfd__vnfd_vdu_alarm_actions_insufficient_data(PybindBase):

3111 """

3112 This class was auto-generated by the PythonClass plugin for PYANG

3113 from YANG module etsi-nfv-vnfd - based on the path /vnfd/vdu/alarm/actions/insufficient-data. Each member element of

3114 the container is represented as a class variable - with a specific

3115 YANG type.

3116 """

3117 __slots__ = ('_path_helper', '_extmethods', '__url',)

3118

3119 _yang_name = 'insufficient-data'

3120 _yang_namespace = 'urn:etsi:nfv:yang:etsi-nfv-vnfd'

3121

3122 _pybind_generated_by = 'container'

3123

3124 def __init__(self, *args, **kwargs):

3125

3126 self._path_helper = False

3127

3128 self._extmethods = False

3129 self.__url = YANGDynClass(base=str, is_leaf=True, yang_name="url", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, is_keyval=True, namespace='urn:etsi:osm:yang:augments:alarm', defining_module='alarm', yang_type='string', is_config=True)

3130

3131 load = kwargs.pop("load", None)

3132 if args:

3133 if len(args) > 1:

3134 raise TypeError("cannot create a YANG container with >1 argument")

3135 all_attr = True

3136 for e in self._pyangbind_elements:

3137 if not hasattr(args[0], e):

3138 all_attr = False

3139 break

3140 if not all_attr:

3141 raise ValueError("Supplied object did not have the correct attributes")

3142 for e in self._pyangbind_elements:

3143 nobj = getattr(args[0], e)

3144 if nobj._changed() is False:

3145 continue

3146 setmethod = getattr(self, "_set_%s" % e)

3147 if load is None:

3148 setmethod(getattr(args[0], e))

3149 else:

3150 setmethod(getattr(args[0], e), load=load)

3151

3152 def _path(self):

3153 if hasattr(self, "_parent"):

3154 return self._parent._path()+[self._yang_name]

3155 else:

3156 return ['vnfd', 'vdu', 'alarm', 'actions', 'insufficient-data']

3157

3158 def _get_url(self):

3159 """

3160 Getter method for url, mapped from YANG variable /vnfd/vdu/alarm/actions/insufficient_data/url (string)

3161 """

3162 return self.__url

3163

3164 def _set_url(self, v, load=False):

3165 """

3166 Setter method for url, mapped from YANG variable /vnfd/vdu/alarm/actions/insufficient_data/url (string)

3167 If this variable is read-only (config: false) in the

3168 source YANG file, then _set_url is considered as a private

3169 method. Backends looking to populate this variable should

3170 do so via calling thisObj._set_url() directly.

3171 """

3172 parent = getattr(self, "_parent", None)

3173 if parent is not None and load is False:

3174 raise AttributeError("Cannot set keys directly when" +

3175 " within an instantiated list")

3176

3177 if hasattr(v, "_utype"):

3178 v = v._utype(v)

3179 try:

3180 t = YANGDynClass(v,base=str, is_leaf=True, yang_name="url", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, is_keyval=True, namespace='urn:etsi:osm:yang:augments:alarm', defining_module='alarm', yang_type='string', is_config=True)

3181 except (TypeError, ValueError):

3182 raise ValueError({

3183 'error-string': """url must be of a type compatible with string""",

3184 'defined-type': "string",

3185 'generated-type': """YANGDynClass(base=str, is_leaf=True, yang_name="url", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, is_keyval=True, namespace='urn:etsi:osm:yang:augments:alarm', defining_module='alarm', yang_type='string', is_config=True)""",

3186 })

3187

3188 self.__url = t

3189 if hasattr(self, '_set'):

3190 self._set()

3191

3192 def _unset_url(self):

3193 self.__url = YANGDynClass(base=str, is_leaf=True, yang_name="url", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, is_keyval=True, namespace='urn:etsi:osm:yang:augments:alarm', defining_module='alarm', yang_type='string', is_config=True)

3194

3195 url = __builtin__.property(_get_url, _set_url)

3196

3197

3198 _pyangbind_elements = OrderedDict([('url', url), ])

3199

3200

3201 class yc_alarm_etsi_nfv_vnfd__vnfd_vdu_alarm_actions_alarm(PybindBase):

3202 """

3203 This class was auto-generated by the PythonClass plugin for PYANG

3204 from YANG module etsi-nfv-vnfd - based on the path /vnfd/vdu/alarm/actions/alarm. Each member element of

3205 the container is represented as a class variable - with a specific

3206 YANG type.

3207 """

3208 __slots__ = ('_path_helper', '_extmethods', '__url',)

3209

3210 _yang_name = 'alarm'

3211 _yang_namespace = 'urn:etsi:nfv:yang:etsi-nfv-vnfd'

3212

3213 _pybind_generated_by = 'container'

3214

3215 def __init__(self, *args, **kwargs):

3216

3217 self._path_helper = False

3218

3219 self._extmethods = False

3220 self.__url = YANGDynClass(base=str, is_leaf=True, yang_name="url", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, is_keyval=True, namespace='urn:etsi:osm:yang:augments:alarm', defining_module='alarm', yang_type='string', is_config=True)

3221

3222 load = kwargs.pop("load", None)

3223 if args:

3224 if len(args) > 1:

3225 raise TypeError("cannot create a YANG container with >1 argument")

3226 all_attr = True

3227 for e in self._pyangbind_elements:

3228 if not hasattr(args[0], e):

3229 all_attr = False

3230 break

3231 if not all_attr:

3232 raise ValueError("Supplied object did not have the correct attributes")

3233 for e in self._pyangbind_elements:

3234 nobj = getattr(args[0], e)

3235 if nobj._changed() is False:

3236 continue

3237 setmethod = getattr(self, "_set_%s" % e)

3238 if load is None:

3239 setmethod(getattr(args[0], e))

3240 else:

3241 setmethod(getattr(args[0], e), load=load)

3242

3243 def _path(self):

3244 if hasattr(self, "_parent"):

3245 return self._parent._path()+[self._yang_name]

3246 else:

3247 return ['vnfd', 'vdu', 'alarm', 'actions', 'alarm']

3248

3249 def _get_url(self):

3250 """

3251 Getter method for url, mapped from YANG variable /vnfd/vdu/alarm/actions/alarm/url (string)

3252 """

3253 return self.__url

3254

3255 def _set_url(self, v, load=False):

3256 """

3257 Setter method for url, mapped from YANG variable /vnfd/vdu/alarm/actions/alarm/url (string)

3258 If this variable is read-only (config: false) in the

3259 source YANG file, then _set_url is considered as a private

3260 method. Backends looking to populate this variable should

3261 do so via calling thisObj._set_url() directly.

3262 """

3263 parent = getattr(self, "_parent", None)

3264 if parent is not None and load is False:

3265 raise AttributeError("Cannot set keys directly when" +

3266 " within an instantiated list")

3267

3268 if hasattr(v, "_utype"):

3269 v = v._utype(v)

3270 try:

3271 t = YANGDynClass(v,base=str, is_leaf=True, yang_name="url", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, is_keyval=True, namespace='urn:etsi:osm:yang:augments:alarm', defining_module='alarm', yang_type='string', is_config=True)

3272 except (TypeError, ValueError):

3273 raise ValueError({

3274 'error-string': """url must be of a type compatible with string""",

3275 'defined-type': "string",

3276 'generated-type': """YANGDynClass(base=str, is_leaf=True, yang_name="url", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, is_keyval=True, namespace='urn:etsi:osm:yang:augments:alarm', defining_module='alarm', yang_type='string', is_config=True)""",

3277 })

3278

3279 self.__url = t

3280 if hasattr(self, '_set'):

3281 self._set()

3282

3283 def _unset_url(self):

3284 self.__url = YANGDynClass(base=str, is_leaf=True, yang_name="url", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, is_keyval=True, namespace='urn:etsi:osm:yang:augments:alarm', defining_module='alarm', yang_type='string', is_config=True)

3285

3286 url = __builtin__.property(_get_url, _set_url)

3287

3288

3289 _pyangbind_elements = OrderedDict([('url', url), ])

3290

3291

3292 class yc_actions_etsi_nfv_vnfd__vnfd_vdu_alarm_actions(PybindBase):

3293 """

3294 This class was auto-generated by the PythonClass plugin for PYANG

3295 from YANG module etsi-nfv-vnfd - based on the path /vnfd/vdu/alarm/actions. Each member element of

3296 the container is represented as a class variable - with a specific

3297 YANG type.

3298 """

3299 __slots__ = ('_path_helper', '_extmethods', '__ok','__insufficient_data','__alarm',)

3300

3301 _yang_name = 'actions'

3302 _yang_namespace = 'urn:etsi:nfv:yang:etsi-nfv-vnfd'

3303

3304 _pybind_generated_by = 'container'

3305

3306 def __init__(self, *args, **kwargs):

3307

3308 self._path_helper = False

3309

3310 self._extmethods = False

3311 self.__ok = YANGDynClass(base=YANGListType("url",yc_ok_etsi_nfv_vnfd__vnfd_vdu_alarm_actions_ok, yang_name="ok", parent=self, is_container='list', user_ordered=False, path_helper=self._path_helper, yang_keys='url', extensions=None), is_container='list', yang_name="ok", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, extensions=None, namespace='urn:etsi:osm:yang:augments:alarm', defining_module='alarm', yang_type='list', is_config=True)

3312 self.__insufficient_data = YANGDynClass(base=YANGListType("url",yc_insufficient_data_etsi_nfv_vnfd__vnfd_vdu_alarm_actions_insufficient_data, yang_name="insufficient-data", parent=self, is_container='list', user_ordered=False, path_helper=self._path_helper, yang_keys='url', extensions=None), is_container='list', yang_name="insufficient-data", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, extensions=None, namespace='urn:etsi:osm:yang:augments:alarm', defining_module='alarm', yang_type='list', is_config=True)

3313 self.__alarm = YANGDynClass(base=YANGListType("url",yc_alarm_etsi_nfv_vnfd__vnfd_vdu_alarm_actions_alarm, yang_name="alarm", parent=self, is_container='list', user_ordered=False, path_helper=self._path_helper, yang_keys='url', extensions=None), is_container='list', yang_name="alarm", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, extensions=None, namespace='urn:etsi:osm:yang:augments:alarm', defining_module='alarm', yang_type='list', is_config=True)

3314

3315 load = kwargs.pop("load", None)

3316 if args:

3317 if len(args) > 1:

3318 raise TypeError("cannot create a YANG container with >1 argument")

3319 all_attr = True

3320 for e in self._pyangbind_elements:

3321 if not hasattr(args[0], e):

3322 all_attr = False

3323 break

3324 if not all_attr:

3325 raise ValueError("Supplied object did not have the correct attributes")

3326 for e in self._pyangbind_elements:

3327 nobj = getattr(args[0], e)

3328 if nobj._changed() is False:

3329 continue

3330 setmethod = getattr(self, "_set_%s" % e)

3331 if load is None:

3332 setmethod(getattr(args[0], e))

3333 else:

3334 setmethod(getattr(args[0], e), load=load)

3335

3336 def _path(self):

3337 if hasattr(self, "_parent"):

3338 return self._parent._path()+[self._yang_name]

3339 else:

3340 return ['vnfd', 'vdu', 'alarm', 'actions']

3341

3342 def _get_ok(self):

3343 """

3344 Getter method for ok, mapped from YANG variable /vnfd/vdu/alarm/actions/ok (list)

3345 """

3346 return self.__ok

3347

3348 def _set_ok(self, v, load=False):

3349 """

3350 Setter method for ok, mapped from YANG variable /vnfd/vdu/alarm/actions/ok (list)

3351 If this variable is read-only (config: false) in the

3352 source YANG file, then _set_ok is considered as a private

3353 method. Backends looking to populate this variable should

3354 do so via calling thisObj._set_ok() directly.

3355 """

3356 if hasattr(v, "_utype"):

3357 v = v._utype(v)

3358 try:

3359 t = YANGDynClass(v,base=YANGListType("url",yc_ok_etsi_nfv_vnfd__vnfd_vdu_alarm_actions_ok, yang_name="ok", parent=self, is_container='list', user_ordered=False, path_helper=self._path_helper, yang_keys='url', extensions=None), is_container='list', yang_name="ok", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, extensions=None, namespace='urn:etsi:osm:yang:augments:alarm', defining_module='alarm', yang_type='list', is_config=True)

3360 except (TypeError, ValueError):

3361 raise ValueError({

3362 'error-string': """ok must be of a type compatible with list""",

3363 'defined-type': "list",

3364 'generated-type': """YANGDynClass(base=YANGListType("url",yc_ok_etsi_nfv_vnfd__vnfd_vdu_alarm_actions_ok, yang_name="ok", parent=self, is_container='list', user_ordered=False, path_helper=self._path_helper, yang_keys='url', extensions=None), is_container='list', yang_name="ok", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, extensions=None, namespace='urn:etsi:osm:yang:augments:alarm', defining_module='alarm', yang_type='list', is_config=True)""",

3365 })

3366

3367 self.__ok = t

3368 if hasattr(self, '_set'):

3369 self._set()

3370

3371 def _unset_ok(self):

3372 self.__ok = YANGDynClass(base=YANGListType("url",yc_ok_etsi_nfv_vnfd__vnfd_vdu_alarm_actions_ok, yang_name="ok", parent=self, is_container='list', user_ordered=False, path_helper=self._path_helper, yang_keys='url', extensions=None), is_container='list', yang_name="ok", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, extensions=None, namespace='urn:etsi:osm:yang:augments:alarm', defining_module='alarm', yang_type='list', is_config=True)

3373

3374

3375 def _get_insufficient_data(self):

3376 """

3377 Getter method for insufficient_data, mapped from YANG variable /vnfd/vdu/alarm/actions/insufficient_data (list)

3378 """

3379 return self.__insufficient_data

3380

3381 def _set_insufficient_data(self, v, load=False):

3382 """

3383 Setter method for insufficient_data, mapped from YANG variable /vnfd/vdu/alarm/actions/insufficient_data (list)

3384 If this variable is read-only (config: false) in the

3385 source YANG file, then _set_insufficient_data is considered as a private

3386 method. Backends looking to populate this variable should

3387 do so via calling thisObj._set_insufficient_data() directly.

3388 """

3389 if hasattr(v, "_utype"):

3390 v = v._utype(v)

3391 try:

3392 t = YANGDynClass(v,base=YANGListType("url",yc_insufficient_data_etsi_nfv_vnfd__vnfd_vdu_alarm_actions_insufficient_data, yang_name="insufficient-data", parent=self, is_container='list', user_ordered=False, path_helper=self._path_helper, yang_keys='url', extensions=None), is_container='list', yang_name="insufficient-data", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, extensions=None, namespace='urn:etsi:osm:yang:augments:alarm', defining_module='alarm', yang_type='list', is_config=True)

3393 except (TypeError, ValueError):

3394 raise ValueError({

3395 'error-string': """insufficient_data must be of a type compatible with list""",

3396 'defined-type': "list",

3397 'generated-type': """YANGDynClass(base=YANGListType("url",yc_insufficient_data_etsi_nfv_vnfd__vnfd_vdu_alarm_actions_insufficient_data, yang_name="insufficient-data", parent=self, is_container='list', user_ordered=False, path_helper=self._path_helper, yang_keys='url', extensions=None), is_container='list', yang_name="insufficient-data", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, extensions=None, namespace='urn:etsi:osm:yang:augments:alarm', defining_module='alarm', yang_type='list', is_config=True)""",

3398 })

3399

3400 self.__insufficient_data = t

3401 if hasattr(self, '_set'):

3402 self._set()

3403

3404 def _unset_insufficient_data(self):

3405 self.__insufficient_data = YANGDynClass(base=YANGListType("url",yc_insufficient_data_etsi_nfv_vnfd__vnfd_vdu_alarm_actions_insufficient_data, yang_name="insufficient-data", parent=self, is_container='list', user_ordered=False, path_helper=self._path_helper, yang_keys='url', extensions=None), is_container='list', yang_name="insufficient-data", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, extensions=None, namespace='urn:etsi:osm:yang:augments:alarm', defining_module='alarm', yang_type='list', is_config=True)

3406

3407

3408 def _get_alarm(self):

3409 """

3410 Getter method for alarm, mapped from YANG variable /vnfd/vdu/alarm/actions/alarm (list)

3411 """

3412 return self.__alarm

3413

3414 def _set_alarm(self, v, load=False):

3415 """

3416 Setter method for alarm, mapped from YANG variable /vnfd/vdu/alarm/actions/alarm (list)

3417 If this variable is read-only (config: false) in the

3418 source YANG file, then _set_alarm is considered as a private

3419 method. Backends looking to populate this variable should

3420 do so via calling thisObj._set_alarm() directly.

3421 """

3422 if hasattr(v, "_utype"):

3423 v = v._utype(v)

3424 try:

3425 t = YANGDynClass(v,base=YANGListType("url",yc_alarm_etsi_nfv_vnfd__vnfd_vdu_alarm_actions_alarm, yang_name="alarm", parent=self, is_container='list', user_ordered=False, path_helper=self._path_helper, yang_keys='url', extensions=None), is_container='list', yang_name="alarm", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, extensions=None, namespace='urn:etsi:osm:yang:augments:alarm', defining_module='alarm', yang_type='list', is_config=True)

3426 except (TypeError, ValueError):

3427 raise ValueError({

3428 'error-string': """alarm must be of a type compatible with list""",

3429 'defined-type': "list",

3430 'generated-type': """YANGDynClass(base=YANGListType("url",yc_alarm_etsi_nfv_vnfd__vnfd_vdu_alarm_actions_alarm, yang_name="alarm", parent=self, is_container='list', user_ordered=False, path_helper=self._path_helper, yang_keys='url', extensions=None), is_container='list', yang_name="alarm", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, extensions=None, namespace='urn:etsi:osm:yang:augments:alarm', defining_module='alarm', yang_type='list', is_config=True)""",

3431 })

3432

3433 self.__alarm = t

3434 if hasattr(self, '_set'):

3435 self._set()

3436

3437 def _unset_alarm(self):

3438 self.__alarm = YANGDynClass(base=YANGListType("url",yc_alarm_etsi_nfv_vnfd__vnfd_vdu_alarm_actions_alarm, yang_name="alarm", parent=self, is_container='list', user_ordered=False, path_helper=self._path_helper, yang_keys='url', extensions=None), is_container='list', yang_name="alarm", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, extensions=None, namespace='urn:etsi:osm:yang:augments:alarm', defining_module='alarm', yang_type='list', is_config=True)

3439

3440 ok = __builtin__.property(_get_ok, _set_ok)

3441 insufficient_data = __builtin__.property(_get_insufficient_data, _set_insufficient_data)

3442 alarm = __builtin__.property(_get_alarm, _set_alarm)

3443

3444

3445 _pyangbind_elements = OrderedDict([('ok', ok), ('insufficient_data', insufficient_data), ('alarm', alarm), ])

3446

3447

3448 class yc_alarm_etsi_nfv_vnfd__vnfd_vdu_alarm(PybindBase):

3449 """

3450 This class was auto-generated by the PythonClass plugin for PYANG

3451 from YANG module etsi-nfv-vnfd - based on the path /vnfd/vdu/alarm. Each member element of

3452 the container is represented as a class variable - with a specific

3453 YANG type.

3454 """

3455 __slots__ = ('_path_helper', '_extmethods', '__alarm_id','__vnf_monitoring_param_ref','__name','__description','__vdur_id','__actions','__repeat','__enabled','__severity','__statistic','__operation','__value','__period','__evaluations',)

3456

3457 _yang_name = 'alarm'

3458 _yang_namespace = 'urn:etsi:nfv:yang:etsi-nfv-vnfd'

3459

3460 _pybind_generated_by = 'container'

3461

3462 def __init__(self, *args, **kwargs):

3463

3464 self._path_helper = False

3465

3466 self._extmethods = False

3467 self.__alarm_id = YANGDynClass(base=str, is_leaf=True, yang_name="alarm-id", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, is_keyval=True, namespace='urn:etsi:osm:yang:augments:alarm', defining_module='alarm', yang_type='string', is_config=True)

3468 self.__vnf_monitoring_param_ref = YANGDynClass(base=str, is_leaf=True, yang_name="vnf-monitoring-param-ref", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='urn:etsi:osm:yang:augments:alarm', defining_module='alarm', yang_type='leafref', is_config=True)

3469 self.__name = YANGDynClass(base=str, is_leaf=True, yang_name="name", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='urn:etsi:osm:yang:augments:alarm', defining_module='alarm', yang_type='string', is_config=True)

3470 self.__description = YANGDynClass(base=str, is_leaf=True, yang_name="description", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='urn:etsi:osm:yang:augments:alarm', defining_module='alarm', yang_type='string', is_config=True)

3471 self.__vdur_id = YANGDynClass(base=str, is_leaf=True, yang_name="vdur-id", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='urn:etsi:osm:yang:augments:alarm', defining_module='alarm', yang_type='string', is_config=True)

3472 self.__actions = YANGDynClass(base=yc_actions_etsi_nfv_vnfd__vnfd_vdu_alarm_actions, is_container='container', yang_name="actions", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, extensions=None, namespace='urn:etsi:osm:yang:augments:alarm', defining_module='alarm', yang_type='container', is_config=True)

3473 self.__repeat = YANGDynClass(base=YANGBool, default=YANGBool("true"), is_leaf=True, yang_name="repeat", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='urn:etsi:osm:yang:augments:alarm', defining_module='alarm', yang_type='boolean', is_config=True)

3474 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='urn:etsi:osm:yang:augments:alarm', defining_module='alarm', yang_type='boolean', is_config=True)

3475 self.__severity = YANGDynClass(base=RestrictedClassType(base_type=str, restriction_type="dict_key", restriction_arg={'LOW': {}, 'MODERATE': {}, 'CRITICAL': {}},), is_leaf=True, yang_name="severity", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='urn:etsi:osm:yang:augments:alarm', defining_module='alarm', yang_type='alarm-severity-type', is_config=True)

3476 self.__statistic = YANGDynClass(base=RestrictedClassType(base_type=str, restriction_type="dict_key", restriction_arg={'AVERAGE': {}, 'MINIMUM': {}, 'MAXIMUM': {}, 'COUNT': {}, 'SUM': {}},), is_leaf=True, yang_name="statistic", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='urn:etsi:osm:yang:augments:alarm', defining_module='alarm', yang_type='alarm-statistic-type', is_config=True)

3477 self.__operation = YANGDynClass(base=RestrictedClassType(base_type=str, restriction_type="dict_key", restriction_arg={'GE': {}, 'LE': {}, 'GT': {}, 'LT': {}, 'EQ': {}, 'NE': {}},), is_leaf=True, yang_name="operation", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='urn:etsi:osm:yang:augments:alarm', defining_module='alarm', yang_type='relational-operation-type', is_config=True)

3478 self.__value = YANGDynClass(base=RestrictedPrecisionDecimalType(precision=4), is_leaf=True, yang_name="value", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='urn:etsi:osm:yang:augments:alarm', defining_module='alarm', yang_type='decimal64', is_config=True)

3479 self.__period = YANGDynClass(base=RestrictedClassType(base_type=long, restriction_dict={'range': ['0..4294967295']}, int_size=32), is_leaf=True, yang_name="period", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='urn:etsi:osm:yang:augments:alarm', defining_module='alarm', yang_type='uint32', is_config=True)

3480 self.__evaluations = YANGDynClass(base=RestrictedClassType(base_type=long, restriction_dict={'range': ['0..4294967295']}, int_size=32), is_leaf=True, yang_name="evaluations", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='urn:etsi:osm:yang:augments:alarm', defining_module='alarm', yang_type='uint32', is_config=True)

3481

3482 load = kwargs.pop("load", None)

3483 if args:

3484 if len(args) > 1:

3485 raise TypeError("cannot create a YANG container with >1 argument")

3486 all_attr = True

3487 for e in self._pyangbind_elements:

3488 if not hasattr(args[0], e):

3489 all_attr = False

3490 break

3491 if not all_attr:

3492 raise ValueError("Supplied object did not have the correct attributes")

3493 for e in self._pyangbind_elements:

3494 nobj = getattr(args[0], e)

3495 if nobj._changed() is False:

3496 continue

3497 setmethod = getattr(self, "_set_%s" % e)

3498 if load is None:

3499 setmethod(getattr(args[0], e))

3500 else:

3501 setmethod(getattr(args[0], e), load=load)

3502

3503 def _path(self):

3504 if hasattr(self, "_parent"):

3505 return self._parent._path()+[self._yang_name]

3506 else:

3507 return ['vnfd', 'vdu', 'alarm']

3508

3509 def _get_alarm_id(self):

3510 """

3511 Getter method for alarm_id, mapped from YANG variable /vnfd/vdu/alarm/alarm_id (string)

3512

3513 YANG Description: This field is reserved for the identifier assigned by the VIM provider

3514 """

3515 return self.__alarm_id

3516

3517 def _set_alarm_id(self, v, load=False):

3518 """

3519 Setter method for alarm_id, mapped from YANG variable /vnfd/vdu/alarm/alarm_id (string)

3520 If this variable is read-only (config: false) in the

3521 source YANG file, then _set_alarm_id is considered as a private

3522 method. Backends looking to populate this variable should

3523 do so via calling thisObj._set_alarm_id() directly.

3524

3525 YANG Description: This field is reserved for the identifier assigned by the VIM provider

3526 """

3527 parent = getattr(self, "_parent", None)

3528 if parent is not None and load is False:

3529 raise AttributeError("Cannot set keys directly when" +

3530 " within an instantiated list")

3531

3532 if hasattr(v, "_utype"):

3533 v = v._utype(v)

3534 try:

3535 t = YANGDynClass(v,base=str, is_leaf=True, yang_name="alarm-id", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, is_keyval=True, namespace='urn:etsi:osm:yang:augments:alarm', defining_module='alarm', yang_type='string', is_config=True)

3536 except (TypeError, ValueError):

3537 raise ValueError({

3538 'error-string': """alarm_id must be of a type compatible with string""",

3539 'defined-type': "string",

3540 'generated-type': """YANGDynClass(base=str, is_leaf=True, yang_name="alarm-id", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, is_keyval=True, namespace='urn:etsi:osm:yang:augments:alarm', defining_module='alarm', yang_type='string', is_config=True)""",

3541 })

3542

3543 self.__alarm_id = t

3544 if hasattr(self, '_set'):

3545 self._set()

3546

3547 def _unset_alarm_id(self):

3548 self.__alarm_id = YANGDynClass(base=str, is_leaf=True, yang_name="alarm-id", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, is_keyval=True, namespace='urn:etsi:osm:yang:augments:alarm', defining_module='alarm', yang_type='string', is_config=True)

3549

3550

3551 def _get_vnf_monitoring_param_ref(self):

3552 """

3553 Getter method for vnf_monitoring_param_ref, mapped from YANG variable /vnfd/vdu/alarm/vnf_monitoring_param_ref (leafref)

3554

3555 YANG Description: Reference to the VNF level monitoring parameter

3556 that is aggregated

3557 """

3558 return self.__vnf_monitoring_param_ref

3559

3560 def _set_vnf_monitoring_param_ref(self, v, load=False):

3561 """

3562 Setter method for vnf_monitoring_param_ref, mapped from YANG variable /vnfd/vdu/alarm/vnf_monitoring_param_ref (leafref)

3563 If this variable is read-only (config: false) in the

3564 source YANG file, then _set_vnf_monitoring_param_ref is considered as a private

3565 method. Backends looking to populate this variable should

3566 do so via calling thisObj._set_vnf_monitoring_param_ref() directly.

3567

3568 YANG Description: Reference to the VNF level monitoring parameter

3569 that is aggregated

3570 """

3571 if hasattr(v, "_utype"):

3572 v = v._utype(v)

3573 try:

3574 t = YANGDynClass(v,base=str, is_leaf=True, yang_name="vnf-monitoring-param-ref", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='urn:etsi:osm:yang:augments:alarm', defining_module='alarm', yang_type='leafref', is_config=True)

3575 except (TypeError, ValueError):

3576 raise ValueError({

3577 'error-string': """vnf_monitoring_param_ref must be of a type compatible with leafref""",

3578 'defined-type': "leafref",

3579 'generated-type': """YANGDynClass(base=str, is_leaf=True, yang_name="vnf-monitoring-param-ref", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='urn:etsi:osm:yang:augments:alarm', defining_module='alarm', yang_type='leafref', is_config=True)""",

3580 })

3581

3582 self.__vnf_monitoring_param_ref = t

3583 if hasattr(self, '_set'):

3584 self._set()

3585

3586 def _unset_vnf_monitoring_param_ref(self):

3587 self.__vnf_monitoring_param_ref = YANGDynClass(base=str, is_leaf=True, yang_name="vnf-monitoring-param-ref", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='urn:etsi:osm:yang:augments:alarm', defining_module='alarm', yang_type='leafref', is_config=True)

3588

3589

3590 def _get_name(self):

3591 """

3592 Getter method for name, mapped from YANG variable /vnfd/vdu/alarm/name (string)

3593

3594 YANG Description: A human readable string to identify the alarm

3595 """

3596 return self.__name

3597

3598 def _set_name(self, v, load=False):

3599 """

3600 Setter method for name, mapped from YANG variable /vnfd/vdu/alarm/name (string)

3601 If this variable is read-only (config: false) in the

3602 source YANG file, then _set_name is considered as a private

3603 method. Backends looking to populate this variable should

3604 do so via calling thisObj._set_name() directly.

3605

3606 YANG Description: A human readable string to identify the alarm

3607 """

3608 if hasattr(v, "_utype"):

3609 v = v._utype(v)

3610 try:

3611 t = YANGDynClass(v,base=str, is_leaf=True, yang_name="name", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='urn:etsi:osm:yang:augments:alarm', defining_module='alarm', yang_type='string', is_config=True)

3612 except (TypeError, ValueError):

3613 raise ValueError({

3614 'error-string': """name must be of a type compatible with string""",

3615 'defined-type': "string",

3616 'generated-type': """YANGDynClass(base=str, is_leaf=True, yang_name="name", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='urn:etsi:osm:yang:augments:alarm', defining_module='alarm', yang_type='string', is_config=True)""",

3617 })

3618

3619 self.__name = t

3620 if hasattr(self, '_set'):

3621 self._set()

3622

3623 def _unset_name(self):

3624 self.__name = YANGDynClass(base=str, is_leaf=True, yang_name="name", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='urn:etsi:osm:yang:augments:alarm', defining_module='alarm', yang_type='string', is_config=True)

3625

3626

3627 def _get_description(self):

3628 """

3629 Getter method for description, mapped from YANG variable /vnfd/vdu/alarm/description (string)

3630

3631 YANG Description: A description of this alarm

3632 """

3633 return self.__description

3634

3635 def _set_description(self, v, load=False):

3636 """

3637 Setter method for description, mapped from YANG variable /vnfd/vdu/alarm/description (string)

3638 If this variable is read-only (config: false) in the

3639 source YANG file, then _set_description is considered as a private

3640 method. Backends looking to populate this variable should

3641 do so via calling thisObj._set_description() directly.

3642

3643 YANG Description: A description of this alarm

3644 """

3645 if hasattr(v, "_utype"):

3646 v = v._utype(v)

3647 try:

3648 t = YANGDynClass(v,base=str, is_leaf=True, yang_name="description", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='urn:etsi:osm:yang:augments:alarm', defining_module='alarm', yang_type='string', is_config=True)

3649 except (TypeError, ValueError):

3650 raise ValueError({

3651 'error-string': """description must be of a type compatible with string""",

3652 'defined-type': "string",

3653 'generated-type': """YANGDynClass(base=str, is_leaf=True, yang_name="description", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='urn:etsi:osm:yang:augments:alarm', defining_module='alarm', yang_type='string', is_config=True)""",

3654 })

3655

3656 self.__description = t

3657 if hasattr(self, '_set'):

3658 self._set()

3659

3660 def _unset_description(self):

3661 self.__description = YANGDynClass(base=str, is_leaf=True, yang_name="description", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='urn:etsi:osm:yang:augments:alarm', defining_module='alarm', yang_type='string', is_config=True)

3662

3663

3664 def _get_vdur_id(self):

3665 """

3666 Getter method for vdur_id, mapped from YANG variable /vnfd/vdu/alarm/vdur_id (string)

3667

3668 YANG Description: The identifier of the VDUR that the alarm is associated with

3669 """

3670 return self.__vdur_id

3671

3672 def _set_vdur_id(self, v, load=False):

3673 """

3674 Setter method for vdur_id, mapped from YANG variable /vnfd/vdu/alarm/vdur_id (string)

3675 If this variable is read-only (config: false) in the

3676 source YANG file, then _set_vdur_id is considered as a private

3677 method. Backends looking to populate this variable should

3678 do so via calling thisObj._set_vdur_id() directly.

3679

3680 YANG Description: The identifier of the VDUR that the alarm is associated with

3681 """

3682 if hasattr(v, "_utype"):

3683 v = v._utype(v)

3684 try:

3685 t = YANGDynClass(v,base=str, is_leaf=True, yang_name="vdur-id", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='urn:etsi:osm:yang:augments:alarm', defining_module='alarm', yang_type='string', is_config=True)

3686 except (TypeError, ValueError):

3687 raise ValueError({

3688 'error-string': """vdur_id must be of a type compatible with string""",

3689 'defined-type': "string",

3690 'generated-type': """YANGDynClass(base=str, is_leaf=True, yang_name="vdur-id", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='urn:etsi:osm:yang:augments:alarm', defining_module='alarm', yang_type='string', is_config=True)""",

3691 })

3692

3693 self.__vdur_id = t

3694 if hasattr(self, '_set'):

3695 self._set()

3696

3697 def _unset_vdur_id(self):

3698 self.__vdur_id = YANGDynClass(base=str, is_leaf=True, yang_name="vdur-id", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='urn:etsi:osm:yang:augments:alarm', defining_module='alarm', yang_type='string', is_config=True)

3699

3700

3701 def _get_actions(self):

3702 """

3703 Getter method for actions, mapped from YANG variable /vnfd/vdu/alarm/actions (container)

3704 """

3705 return self.__actions

3706

3707 def _set_actions(self, v, load=False):

3708 """

3709 Setter method for actions, mapped from YANG variable /vnfd/vdu/alarm/actions (container)

3710 If this variable is read-only (config: false) in the

3711 source YANG file, then _set_actions is considered as a private

3712 method. Backends looking to populate this variable should

3713 do so via calling thisObj._set_actions() directly.

3714 """

3715 if hasattr(v, "_utype"):

3716 v = v._utype(v)

3717 try:

3718 t = YANGDynClass(v,base=yc_actions_etsi_nfv_vnfd__vnfd_vdu_alarm_actions, is_container='container', yang_name="actions", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, extensions=None, namespace='urn:etsi:osm:yang:augments:alarm', defining_module='alarm', yang_type='container', is_config=True)

3719 except (TypeError, ValueError):

3720 raise ValueError({

3721 'error-string': """actions must be of a type compatible with container""",

3722 'defined-type': "container",

3723 'generated-type': """YANGDynClass(base=yc_actions_etsi_nfv_vnfd__vnfd_vdu_alarm_actions, is_container='container', yang_name="actions", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, extensions=None, namespace='urn:etsi:osm:yang:augments:alarm', defining_module='alarm', yang_type='container', is_config=True)""",

3724 })

3725

3726 self.__actions = t

3727 if hasattr(self, '_set'):

3728 self._set()

3729

3730 def _unset_actions(self):

3731 self.__actions = YANGDynClass(base=yc_actions_etsi_nfv_vnfd__vnfd_vdu_alarm_actions, is_container='container', yang_name="actions", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, extensions=None, namespace='urn:etsi:osm:yang:augments:alarm', defining_module='alarm', yang_type='container', is_config=True)

3732

3733

3734 def _get_repeat(self):

3735 """

3736 Getter method for repeat, mapped from YANG variable /vnfd/vdu/alarm/repeat (boolean)

3737

3738 YANG Description: This flag indicates whether the alarm should be repeatedly emitted

3739 while the associated threshold has been crossed.

3740 """

3741 return self.__repeat

3742

3743 def _set_repeat(self, v, load=False):

3744 """

3745 Setter method for repeat, mapped from YANG variable /vnfd/vdu/alarm/repeat (boolean)

3746 If this variable is read-only (config: false) in the

3747 source YANG file, then _set_repeat is considered as a private

3748 method. Backends looking to populate this variable should

3749 do so via calling thisObj._set_repeat() directly.

3750

3751 YANG Description: This flag indicates whether the alarm should be repeatedly emitted

3752 while the associated threshold has been crossed.

3753 """

3754 if hasattr(v, "_utype"):

3755 v = v._utype(v)

3756 try:

3757 t = YANGDynClass(v,base=YANGBool, default=YANGBool("true"), is_leaf=True, yang_name="repeat", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='urn:etsi:osm:yang:augments:alarm', defining_module='alarm', yang_type='boolean', is_config=True)

3758 except (TypeError, ValueError):

3759 raise ValueError({

3760 'error-string': """repeat must be of a type compatible with boolean""",

3761 'defined-type': "boolean",

3762 'generated-type': """YANGDynClass(base=YANGBool, default=YANGBool("true"), is_leaf=True, yang_name="repeat", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='urn:etsi:osm:yang:augments:alarm', defining_module='alarm', yang_type='boolean', is_config=True)""",

3763 })

3764

3765 self.__repeat = t

3766 if hasattr(self, '_set'):

3767 self._set()

3768

3769 def _unset_repeat(self):

3770 self.__repeat = YANGDynClass(base=YANGBool, default=YANGBool("true"), is_leaf=True, yang_name="repeat", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='urn:etsi:osm:yang:augments:alarm', defining_module='alarm', yang_type='boolean', is_config=True)

3771

3772

3773 def _get_enabled(self):

3774 """

3775 Getter method for enabled, mapped from YANG variable /vnfd/vdu/alarm/enabled (boolean)

3776

3777 YANG Description: This flag indicates whether the alarm has been enabled or

3778 disabled.

3779 """

3780 return self.__enabled

3781

3782 def _set_enabled(self, v, load=False):

3783 """

3784 Setter method for enabled, mapped from YANG variable /vnfd/vdu/alarm/enabled (boolean)

3785 If this variable is read-only (config: false) in the

3786 source YANG file, then _set_enabled is considered as a private

3787 method. Backends looking to populate this variable should

3788 do so via calling thisObj._set_enabled() directly.

3789

3790 YANG Description: This flag indicates whether the alarm has been enabled or

3791 disabled.

3792 """

3793 if hasattr(v, "_utype"):

3794 v = v._utype(v)

3795 try:

3796 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='urn:etsi:osm:yang:augments:alarm', defining_module='alarm', yang_type='boolean', is_config=True)

3797 except (TypeError, ValueError):

3798 raise ValueError({

3799 'error-string': """enabled must be of a type compatible with boolean""",

3800 'defined-type': "boolean",

3801 '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='urn:etsi:osm:yang:augments:alarm', defining_module='alarm', yang_type='boolean', is_config=True)""",

3802 })

3803

3804 self.__enabled = t

3805 if hasattr(self, '_set'):

3806 self._set()

3807

3808 def _unset_enabled(self):

3809 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='urn:etsi:osm:yang:augments:alarm', defining_module='alarm', yang_type='boolean', is_config=True)

3810

3811

3812 def _get_severity(self):

3813 """

3814 Getter method for severity, mapped from YANG variable /vnfd/vdu/alarm/severity (alarm-severity-type)

3815

3816 YANG Description: A measure of the importance or urgency of the alarm

3817 """

3818 return self.__severity

3819

3820 def _set_severity(self, v, load=False):

3821 """

3822 Setter method for severity, mapped from YANG variable /vnfd/vdu/alarm/severity (alarm-severity-type)

3823 If this variable is read-only (config: false) in the

3824 source YANG file, then _set_severity is considered as a private

3825 method. Backends looking to populate this variable should

3826 do so via calling thisObj._set_severity() directly.

3827

3828 YANG Description: A measure of the importance or urgency of the alarm

3829 """

3830 if hasattr(v, "_utype"):

3831 v = v._utype(v)

3832 try:

3833 t = YANGDynClass(v,base=RestrictedClassType(base_type=str, restriction_type="dict_key", restriction_arg={'LOW': {}, 'MODERATE': {}, 'CRITICAL': {}},), is_leaf=True, yang_name="severity", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='urn:etsi:osm:yang:augments:alarm', defining_module='alarm', yang_type='alarm-severity-type', is_config=True)

3834 except (TypeError, ValueError):

3835 raise ValueError({

3836 'error-string': """severity must be of a type compatible with alarm-severity-type""",

3837 'defined-type': "alarm:alarm-severity-type",

3838 'generated-type': """YANGDynClass(base=RestrictedClassType(base_type=str, restriction_type="dict_key", restriction_arg={'LOW': {}, 'MODERATE': {}, 'CRITICAL': {}},), is_leaf=True, yang_name="severity", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='urn:etsi:osm:yang:augments:alarm', defining_module='alarm', yang_type='alarm-severity-type', is_config=True)""",

3839 })

3840

3841 self.__severity = t

3842 if hasattr(self, '_set'):

3843 self._set()

3844

3845 def _unset_severity(self):

3846 self.__severity = YANGDynClass(base=RestrictedClassType(base_type=str, restriction_type="dict_key", restriction_arg={'LOW': {}, 'MODERATE': {}, 'CRITICAL': {}},), is_leaf=True, yang_name="severity", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='urn:etsi:osm:yang:augments:alarm', defining_module='alarm', yang_type='alarm-severity-type', is_config=True)

3847

3848

3849 def _get_statistic(self):

3850 """

3851 Getter method for statistic, mapped from YANG variable /vnfd/vdu/alarm/statistic (alarm-statistic-type)

3852

3853 YANG Description: The type of metric statistic that is tracked by this alarm

3854 """

3855 return self.__statistic

3856

3857 def _set_statistic(self, v, load=False):

3858 """

3859 Setter method for statistic, mapped from YANG variable /vnfd/vdu/alarm/statistic (alarm-statistic-type)

3860 If this variable is read-only (config: false) in the

3861 source YANG file, then _set_statistic is considered as a private

3862 method. Backends looking to populate this variable should

3863 do so via calling thisObj._set_statistic() directly.

3864

3865 YANG Description: The type of metric statistic that is tracked by this alarm

3866 """

3867 if hasattr(v, "_utype"):

3868 v = v._utype(v)

3869 try:

3870 t = YANGDynClass(v,base=RestrictedClassType(base_type=str, restriction_type="dict_key", restriction_arg={'AVERAGE': {}, 'MINIMUM': {}, 'MAXIMUM': {}, 'COUNT': {}, 'SUM': {}},), is_leaf=True, yang_name="statistic", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='urn:etsi:osm:yang:augments:alarm', defining_module='alarm', yang_type='alarm-statistic-type', is_config=True)

3871 except (TypeError, ValueError):

3872 raise ValueError({

3873 'error-string': """statistic must be of a type compatible with alarm-statistic-type""",

3874 'defined-type': "alarm:alarm-statistic-type",

3875 'generated-type': """YANGDynClass(base=RestrictedClassType(base_type=str, restriction_type="dict_key", restriction_arg={'AVERAGE': {}, 'MINIMUM': {}, 'MAXIMUM': {}, 'COUNT': {}, 'SUM': {}},), is_leaf=True, yang_name="statistic", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='urn:etsi:osm:yang:augments:alarm', defining_module='alarm', yang_type='alarm-statistic-type', is_config=True)""",

3876 })

3877

3878 self.__statistic = t

3879 if hasattr(self, '_set'):

3880 self._set()

3881

3882 def _unset_statistic(self):

3883 self.__statistic = YANGDynClass(base=RestrictedClassType(base_type=str, restriction_type="dict_key", restriction_arg={'AVERAGE': {}, 'MINIMUM': {}, 'MAXIMUM': {}, 'COUNT': {}, 'SUM': {}},), is_leaf=True, yang_name="statistic", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='urn:etsi:osm:yang:augments:alarm', defining_module='alarm', yang_type='alarm-statistic-type', is_config=True)

3884

3885

3886 def _get_operation(self):

3887 """

3888 Getter method for operation, mapped from YANG variable /vnfd/vdu/alarm/operation (relational-operation-type)

3889

3890 YANG Description: The relational operator used to define whether an alarm should be

3891 triggered in certain scenarios, such as if the metric statistic

3892 goes above or below a specified value.

3893 """

3894 return self.__operation

3895

3896 def _set_operation(self, v, load=False):

3897 """

3898 Setter method for operation, mapped from YANG variable /vnfd/vdu/alarm/operation (relational-operation-type)

3899 If this variable is read-only (config: false) in the

3900 source YANG file, then _set_operation is considered as a private

3901 method. Backends looking to populate this variable should

3902 do so via calling thisObj._set_operation() directly.

3903

3904 YANG Description: The relational operator used to define whether an alarm should be

3905 triggered in certain scenarios, such as if the metric statistic

3906 goes above or below a specified value.

3907 """

3908 if hasattr(v, "_utype"):

3909 v = v._utype(v)

3910 try:

3911 t = YANGDynClass(v,base=RestrictedClassType(base_type=str, restriction_type="dict_key", restriction_arg={'GE': {}, 'LE': {}, 'GT': {}, 'LT': {}, 'EQ': {}, 'NE': {}},), is_leaf=True, yang_name="operation", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='urn:etsi:osm:yang:augments:alarm', defining_module='alarm', yang_type='relational-operation-type', is_config=True)

3912 except (TypeError, ValueError):

3913 raise ValueError({

3914 'error-string': """operation must be of a type compatible with relational-operation-type""",

3915 'defined-type': "alarm:relational-operation-type",

3916 'generated-type': """YANGDynClass(base=RestrictedClassType(base_type=str, restriction_type="dict_key", restriction_arg={'GE': {}, 'LE': {}, 'GT': {}, 'LT': {}, 'EQ': {}, 'NE': {}},), is_leaf=True, yang_name="operation", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='urn:etsi:osm:yang:augments:alarm', defining_module='alarm', yang_type='relational-operation-type', is_config=True)""",

3917 })

3918

3919 self.__operation = t

3920 if hasattr(self, '_set'):

3921 self._set()

3922

3923 def _unset_operation(self):

3924 self.__operation = YANGDynClass(base=RestrictedClassType(base_type=str, restriction_type="dict_key", restriction_arg={'GE': {}, 'LE': {}, 'GT': {}, 'LT': {}, 'EQ': {}, 'NE': {}},), is_leaf=True, yang_name="operation", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='urn:etsi:osm:yang:augments:alarm', defining_module='alarm', yang_type='relational-operation-type', is_config=True)

3925

3926

3927 def _get_value(self):

3928 """

3929 Getter method for value, mapped from YANG variable /vnfd/vdu/alarm/value (decimal64)

3930

3931 YANG Description: This value defines the threshold that, if crossed, will trigger

3932 the alarm.

3933 """

3934 return self.__value

3935

3936 def _set_value(self, v, load=False):

3937 """

3938 Setter method for value, mapped from YANG variable /vnfd/vdu/alarm/value (decimal64)

3939 If this variable is read-only (config: false) in the

3940 source YANG file, then _set_value is considered as a private

3941 method. Backends looking to populate this variable should

3942 do so via calling thisObj._set_value() directly.

3943

3944 YANG Description: This value defines the threshold that, if crossed, will trigger

3945 the alarm.

3946 """

3947 if hasattr(v, "_utype"):

3948 v = v._utype(v)

3949 try:

3950 t = YANGDynClass(v,base=RestrictedPrecisionDecimalType(precision=4), is_leaf=True, yang_name="value", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='urn:etsi:osm:yang:augments:alarm', defining_module='alarm', yang_type='decimal64', is_config=True)

3951 except (TypeError, ValueError):

3952 raise ValueError({

3953 'error-string': """value must be of a type compatible with decimal64""",

3954 'defined-type': "decimal64",

3955 'generated-type': """YANGDynClass(base=RestrictedPrecisionDecimalType(precision=4), is_leaf=True, yang_name="value", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='urn:etsi:osm:yang:augments:alarm', defining_module='alarm', yang_type='decimal64', is_config=True)""",

3956 })

3957

3958 self.__value = t

3959 if hasattr(self, '_set'):

3960 self._set()

3961

3962 def _unset_value(self):

3963 self.__value = YANGDynClass(base=RestrictedPrecisionDecimalType(precision=4), is_leaf=True, yang_name="value", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='urn:etsi:osm:yang:augments:alarm', defining_module='alarm', yang_type='decimal64', is_config=True)

3964

3965

3966 def _get_period(self):

3967 """

3968 Getter method for period, mapped from YANG variable /vnfd/vdu/alarm/period (uint32)

3969

3970 YANG Description: The period defines the length of time (seconds) that the metric

3971 data are collected over in oreder to evaluate the chosen

3972 statistic.

3973 """

3974 return self.__period

3975

3976 def _set_period(self, v, load=False):

3977 """

3978 Setter method for period, mapped from YANG variable /vnfd/vdu/alarm/period (uint32)

3979 If this variable is read-only (config: false) in the

3980 source YANG file, then _set_period is considered as a private

3981 method. Backends looking to populate this variable should

3982 do so via calling thisObj._set_period() directly.

3983

3984 YANG Description: The period defines the length of time (seconds) that the metric

3985 data are collected over in oreder to evaluate the chosen

3986 statistic.

3987 """

3988 if hasattr(v, "_utype"):

3989 v = v._utype(v)

3990 try:

3991 t = YANGDynClass(v,base=RestrictedClassType(base_type=long, restriction_dict={'range': ['0..4294967295']}, int_size=32), is_leaf=True, yang_name="period", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='urn:etsi:osm:yang:augments:alarm', defining_module='alarm', yang_type='uint32', is_config=True)

3992 except (TypeError, ValueError):

3993 raise ValueError({

3994 'error-string': """period must be of a type compatible with uint32""",

3995 'defined-type': "uint32",

3996 'generated-type': """YANGDynClass(base=RestrictedClassType(base_type=long, restriction_dict={'range': ['0..4294967295']}, int_size=32), is_leaf=True, yang_name="period", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='urn:etsi:osm:yang:augments:alarm', defining_module='alarm', yang_type='uint32', is_config=True)""",

3997 })

3998

3999 self.__period = t

4000 if hasattr(self, '_set'):

4001 self._set()

4002

4003 def _unset_period(self):

4004 self.__period = YANGDynClass(base=RestrictedClassType(base_type=long, restriction_dict={'range': ['0..4294967295']}, int_size=32), is_leaf=True, yang_name="period", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='urn:etsi:osm:yang:augments:alarm', defining_module='alarm', yang_type='uint32', is_config=True)

4005

4006

4007 def _get_evaluations(self):

4008 """

4009 Getter method for evaluations, mapped from YANG variable /vnfd/vdu/alarm/evaluations (uint32)

4010

4011 YANG Description: Defines the length of time (seconds) in which metric data are

4012 collected in order to evaluate the chosen statistic.

4013 """

4014 return self.__evaluations

4015

4016 def _set_evaluations(self, v, load=False):

4017 """

4018 Setter method for evaluations, mapped from YANG variable /vnfd/vdu/alarm/evaluations (uint32)

4019 If this variable is read-only (config: false) in the

4020 source YANG file, then _set_evaluations is considered as a private

4021 method. Backends looking to populate this variable should

4022 do so via calling thisObj._set_evaluations() directly.

4023

4024 YANG Description: Defines the length of time (seconds) in which metric data are

4025 collected in order to evaluate the chosen statistic.

4026 """

4027 if hasattr(v, "_utype"):

4028 v = v._utype(v)

4029 try:

4030 t = YANGDynClass(v,base=RestrictedClassType(base_type=long, restriction_dict={'range': ['0..4294967295']}, int_size=32), is_leaf=True, yang_name="evaluations", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='urn:etsi:osm:yang:augments:alarm', defining_module='alarm', yang_type='uint32', is_config=True)

4031 except (TypeError, ValueError):

4032 raise ValueError({

4033 'error-string': """evaluations must be of a type compatible with uint32""",

4034 'defined-type': "uint32",

4035 'generated-type': """YANGDynClass(base=RestrictedClassType(base_type=long, restriction_dict={'range': ['0..4294967295']}, int_size=32), is_leaf=True, yang_name="evaluations", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='urn:etsi:osm:yang:augments:alarm', defining_module='alarm', yang_type='uint32', is_config=True)""",

4036 })

4037

4038 self.__evaluations = t

4039 if hasattr(self, '_set'):

4040 self._set()

4041

4042 def _unset_evaluations(self):

4043 self.__evaluations = YANGDynClass(base=RestrictedClassType(base_type=long, restriction_dict={'range': ['0..4294967295']}, int_size=32), is_leaf=True, yang_name="evaluations", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='urn:etsi:osm:yang:augments:alarm', defining_module='alarm', yang_type='uint32', is_config=True)

4044

4045 alarm_id = __builtin__.property(_get_alarm_id, _set_alarm_id)

4046 vnf_monitoring_param_ref = __builtin__.property(_get_vnf_monitoring_param_ref, _set_vnf_monitoring_param_ref)

4047 name = __builtin__.property(_get_name, _set_name)

4048 description = __builtin__.property(_get_description, _set_description)

4049 vdur_id = __builtin__.property(_get_vdur_id, _set_vdur_id)

4050 actions = __builtin__.property(_get_actions, _set_actions)

4051 repeat = __builtin__.property(_get_repeat, _set_repeat)

4052 enabled = __builtin__.property(_get_enabled, _set_enabled)

4053 severity = __builtin__.property(_get_severity, _set_severity)

4054 statistic = __builtin__.property(_get_statistic, _set_statistic)

4055 operation = __builtin__.property(_get_operation, _set_operation)

4056 value = __builtin__.property(_get_value, _set_value)

4057 period = __builtin__.property(_get_period, _set_period)

4058 evaluations = __builtin__.property(_get_evaluations, _set_evaluations)

4059

4060

4061 _pyangbind_elements = OrderedDict([('alarm_id', alarm_id), ('vnf_monitoring_param_ref', vnf_monitoring_param_ref), ('name', name), ('description', description), ('vdur_id', vdur_id), ('actions', actions), ('repeat', repeat), ('enabled', enabled), ('severity', severity), ('statistic', statistic), ('operation', operation), ('value', value), ('period', period), ('evaluations', evaluations), ])

4062

4063

4064 class yc_supplemental_boot_data_etsi_nfv_vnfd__vnfd_vdu_supplemental_boot_data(PybindBase):

4065 """

4066 This class was auto-generated by the PythonClass plugin for PYANG

4067 from YANG module etsi-nfv-vnfd - based on the path /vnfd/vdu/supplemental-boot-data. Each member element of

4068 the container is represented as a class variable - with a specific

4069 YANG type.

4070 """

4071 __slots__ = ('_path_helper', '_extmethods', '__boot_data_drive',)

4072

4073 _yang_name = 'supplemental-boot-data'

4074 _yang_namespace = 'urn:etsi:nfv:yang:etsi-nfv-vnfd'

4075

4076 _pybind_generated_by = 'container'

4077

4078 def __init__(self, *args, **kwargs):

4079

4080 self._path_helper = False

4081

4082 self._extmethods = False

4083 self.__boot_data_drive = YANGDynClass(base=YANGBool, default=YANGBool("false"), is_leaf=True, yang_name="boot-data-drive", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='urn:etsi:osm:yang:augments:various', defining_module='various', yang_type='boolean', is_config=True)

4084

4085 load = kwargs.pop("load", None)

4086 if args:

4087 if len(args) > 1:

4088 raise TypeError("cannot create a YANG container with >1 argument")

4089 all_attr = True

4090 for e in self._pyangbind_elements:

4091 if not hasattr(args[0], e):

4092 all_attr = False

4093 break

4094 if not all_attr:

4095 raise ValueError("Supplied object did not have the correct attributes")

4096 for e in self._pyangbind_elements:

4097 nobj = getattr(args[0], e)

4098 if nobj._changed() is False:

4099 continue

4100 setmethod = getattr(self, "_set_%s" % e)

4101 if load is None:

4102 setmethod(getattr(args[0], e))

4103 else:

4104 setmethod(getattr(args[0], e), load=load)

4105

4106 def _path(self):

4107 if hasattr(self, "_parent"):

4108 return self._parent._path()+[self._yang_name]

4109 else:

4110 return ['vnfd', 'vdu', 'supplemental-boot-data']

4111

4112 def _get_boot_data_drive(self):

4113 """

4114 Getter method for boot_data_drive, mapped from YANG variable /vnfd/vdu/supplemental_boot_data/boot_data_drive (boolean)

4115

4116 YANG Description: Some VIMs implement additional drives to host config-files or meta-data

4117 """

4118 return self.__boot_data_drive

4119

4120 def _set_boot_data_drive(self, v, load=False):

4121 """

4122 Setter method for boot_data_drive, mapped from YANG variable /vnfd/vdu/supplemental_boot_data/boot_data_drive (boolean)

4123 If this variable is read-only (config: false) in the

4124 source YANG file, then _set_boot_data_drive is considered as a private

4125 method. Backends looking to populate this variable should

4126 do so via calling thisObj._set_boot_data_drive() directly.

4127

4128 YANG Description: Some VIMs implement additional drives to host config-files or meta-data

4129 """

4130 if hasattr(v, "_utype"):

4131 v = v._utype(v)

4132 try:

4133 t = YANGDynClass(v,base=YANGBool, default=YANGBool("false"), is_leaf=True, yang_name="boot-data-drive", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='urn:etsi:osm:yang:augments:various', defining_module='various', yang_type='boolean', is_config=True)

4134 except (TypeError, ValueError):

4135 raise ValueError({

4136 'error-string': """boot_data_drive must be of a type compatible with boolean""",

4137 'defined-type': "boolean",

4138 'generated-type': """YANGDynClass(base=YANGBool, default=YANGBool("false"), is_leaf=True, yang_name="boot-data-drive", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='urn:etsi:osm:yang:augments:various', defining_module='various', yang_type='boolean', is_config=True)""",

4139 })

4140

4141 self.__boot_data_drive = t

4142 if hasattr(self, '_set'):

4143 self._set()

4144

4145 def _unset_boot_data_drive(self):

4146 self.__boot_data_drive = YANGDynClass(base=YANGBool, default=YANGBool("false"), is_leaf=True, yang_name="boot-data-drive", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='urn:etsi:osm:yang:augments:various', defining_module='various', yang_type='boolean', is_config=True)

4147

4148 boot_data_drive = __builtin__.property(_get_boot_data_drive, _set_boot_data_drive)

4149

4150

4151 _pyangbind_elements = OrderedDict([('boot_data_drive', boot_data_drive), ])

4152

4153

4154 class yc_vdu_etsi_nfv_vnfd__vnfd_vdu(PybindBase):

4155 """

4156 This class was auto-generated by the PythonClass plugin for PYANG

4157 from YANG module etsi-nfv-vnfd - based on the path /vnfd/vdu. Each member element of

4158 the container is represented as a class variable - with a specific

4159 YANG type.

4160

4161 YANG Description: The Virtualisation Deployment Unit (VDU) is a construct supporting

4162 the description of the deployment and operational behaviour of a

4163 VNF component, or the entire VNF if it was not componentized in

4164 components.

4165 """

4166 __slots__ = ('_path_helper', '_extmethods', '__id','__name','__description','__int_cpd','__virtual_compute_desc','__virtual_storage_desc','__boot_order','__sw_image_desc','__nfvi_constraint','__monitoring_parameter','__configurable_properties','__boot_data','__alarm','__alternative_sw_image_desc','__cloud_init','__cloud_init_file','__pdu_type','__supplemental_boot_data',)

4167

4168 _yang_name = 'vdu'

4169 _yang_namespace = 'urn:etsi:nfv:yang:etsi-nfv-vnfd'

4170

4171 _pybind_generated_by = 'container'

4172

4173 def __init__(self, *args, **kwargs):

4174

4175 self._path_helper = False

4176

4177 self._extmethods = False

4178 self.__id = YANGDynClass(base=str, is_leaf=True, yang_name="id", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, is_keyval=True, namespace='urn:etsi:nfv:yang:etsi-nfv-vnfd', defining_module='etsi-nfv-vnfd', yang_type='string', is_config=True)

4179 self.__name = YANGDynClass(base=str, is_leaf=True, yang_name="name", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='urn:etsi:nfv:yang:etsi-nfv-vnfd', defining_module='etsi-nfv-vnfd', yang_type='string', is_config=True)

4180 self.__description = YANGDynClass(base=str, is_leaf=True, yang_name="description", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='urn:etsi:nfv:yang:etsi-nfv-vnfd', defining_module='etsi-nfv-vnfd', yang_type='string', is_config=True)

4181 self.__int_cpd = YANGDynClass(base=YANGListType("id",yc_int_cpd_etsi_nfv_vnfd__vnfd_vdu_int_cpd, yang_name="int-cpd", parent=self, is_container='list', user_ordered=False, path_helper=self._path_helper, yang_keys='id', extensions=None), is_container='list', yang_name="int-cpd", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, extensions=None, namespace='urn:etsi:nfv:yang:etsi-nfv-vnfd', defining_module='etsi-nfv-vnfd', yang_type='list', is_config=True)

4182 self.__virtual_compute_desc = YANGDynClass(base=str, is_leaf=True, yang_name="virtual-compute-desc", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='urn:etsi:nfv:yang:etsi-nfv-vnfd', defining_module='etsi-nfv-vnfd', yang_type='leafref', is_config=True)

4183 self.__virtual_storage_desc = YANGDynClass(unique=True, base=TypedListType(allowed_type=str), is_leaf=False, yang_name="virtual-storage-desc", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='urn:etsi:nfv:yang:etsi-nfv-vnfd', defining_module='etsi-nfv-vnfd', yang_type='leafref', is_config=True)

4184 self.__boot_order = YANGDynClass(base=YANGListType("key",yc_boot_order_etsi_nfv_vnfd__vnfd_vdu_boot_order, yang_name="boot-order", parent=self, is_container='list', user_ordered=True, path_helper=self._path_helper, yang_keys='key', extensions=None), is_container='list', yang_name="boot-order", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, extensions=None, namespace='urn:etsi:nfv:yang:etsi-nfv-vnfd', defining_module='etsi-nfv-vnfd', yang_type='list', is_config=True)

4185 self.__sw_image_desc = YANGDynClass(base=str, is_leaf=True, yang_name="sw-image-desc", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='urn:etsi:nfv:yang:etsi-nfv-vnfd', defining_module='etsi-nfv-vnfd', yang_type='leafref', is_config=True)

4186 self.__nfvi_constraint = YANGDynClass(unique=True, base=TypedListType(allowed_type=str), is_leaf=False, yang_name="nfvi-constraint", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='urn:etsi:nfv:yang:etsi-nfv-vnfd', defining_module='etsi-nfv-vnfd', yang_type='string', is_config=True)

4187 self.__monitoring_parameter = YANGDynClass(base=YANGListType("id",yc_monitoring_parameter_etsi_nfv_vnfd__vnfd_vdu_monitoring_parameter, yang_name="monitoring-parameter", parent=self, is_container='list', user_ordered=False, path_helper=self._path_helper, yang_keys='id', extensions=None), is_container='list', yang_name="monitoring-parameter", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, extensions=None, namespace='urn:etsi:nfv:yang:etsi-nfv-vnfd', defining_module='etsi-nfv-vnfd', yang_type='list', is_config=True)

4188 self.__configurable_properties = YANGDynClass(base=YANGListType("key",yc_configurable_properties_etsi_nfv_vnfd__vnfd_vdu_configurable_properties, yang_name="configurable-properties", parent=self, is_container='list', user_ordered=False, path_helper=self._path_helper, yang_keys='key', extensions=None), is_container='list', yang_name="configurable-properties", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, extensions=None, namespace='urn:etsi:nfv:yang:etsi-nfv-vnfd', defining_module='etsi-nfv-vnfd', yang_type='list', is_config=True)

4189 self.__boot_data = YANGDynClass(base=str, is_leaf=True, yang_name="boot-data", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='urn:etsi:nfv:yang:etsi-nfv-vnfd', defining_module='etsi-nfv-vnfd', yang_type='string', is_config=True)

4190 self.__alarm = YANGDynClass(base=YANGListType("alarm_id",yc_alarm_etsi_nfv_vnfd__vnfd_vdu_alarm, yang_name="alarm", parent=self, is_container='list', user_ordered=False, path_helper=self._path_helper, yang_keys='alarm-id', extensions=None), is_container='list', yang_name="alarm", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, extensions=None, namespace='urn:etsi:osm:yang:augments:alarm', defining_module='alarm', yang_type='list', is_config=True)

4191 self.__alternative_sw_image_desc = YANGDynClass(unique=True, base=TypedListType(allowed_type=str), is_leaf=False, yang_name="alternative-sw-image-desc", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='urn:etsi:osm:yang:alternative-images', defining_module='alternative-images', yang_type='leafref', is_config=True)

4192 self.__cloud_init = YANGDynClass(base=str, is_leaf=True, yang_name="cloud-init", parent=self, choice=('cloud-init-input', 'inline'), path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='urn:etsi:osm:yang:augments:cloud-init', defining_module='cloud-init', yang_type='string', is_config=True)

4193 self.__cloud_init_file = YANGDynClass(base=str, is_leaf=True, yang_name="cloud-init-file", parent=self, choice=('cloud-init-input', 'filename'), path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='urn:etsi:osm:yang:augments:cloud-init', defining_module='cloud-init', yang_type='string', is_config=True)

4194 self.__pdu_type = YANGDynClass(base=str, is_leaf=True, yang_name="pdu-type", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='urn:etsi:osm:yang:augments:various', defining_module='various', yang_type='string', is_config=True)

4195 self.__supplemental_boot_data = YANGDynClass(base=yc_supplemental_boot_data_etsi_nfv_vnfd__vnfd_vdu_supplemental_boot_data, is_container='container', yang_name="supplemental-boot-data", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, extensions=None, namespace='urn:etsi:osm:yang:augments:various', defining_module='various', yang_type='container', is_config=True)

4196

4197 load = kwargs.pop("load", None)

4198 if args:

4199 if len(args) > 1:

4200 raise TypeError("cannot create a YANG container with >1 argument")

4201 all_attr = True

4202 for e in self._pyangbind_elements:

4203 if not hasattr(args[0], e):

4204 all_attr = False

4205 break

4206 if not all_attr:

4207 raise ValueError("Supplied object did not have the correct attributes")

4208 for e in self._pyangbind_elements:

4209 nobj = getattr(args[0], e)

4210 if nobj._changed() is False:

4211 continue

4212 setmethod = getattr(self, "_set_%s" % e)

4213 if load is None:

4214 setmethod(getattr(args[0], e))

4215 else:

4216 setmethod(getattr(args[0], e), load=load)

4217

4218 def _path(self):

4219 if hasattr(self, "_parent"):

4220 return self._parent._path()+[self._yang_name]

4221 else:

4222 return ['vnfd', 'vdu']

4223

4224 def _get_id(self):

4225 """

4226 Getter method for id, mapped from YANG variable /vnfd/vdu/id (string)

4227

4228 YANG Description: Unique identifier of this VDU in VNFD.

4229 """

4230 return self.__id

4231

4232 def _set_id(self, v, load=False):

4233 """

4234 Setter method for id, mapped from YANG variable /vnfd/vdu/id (string)

4235 If this variable is read-only (config: false) in the

4236 source YANG file, then _set_id is considered as a private

4237 method. Backends looking to populate this variable should

4238 do so via calling thisObj._set_id() directly.

4239

4240 YANG Description: Unique identifier of this VDU in VNFD.

4241 """

4242 parent = getattr(self, "_parent", None)

4243 if parent is not None and load is False:

4244 raise AttributeError("Cannot set keys directly when" +

4245 " within an instantiated list")

4246

4247 if hasattr(v, "_utype"):

4248 v = v._utype(v)

4249 try:

4250 t = YANGDynClass(v,base=str, is_leaf=True, yang_name="id", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, is_keyval=True, namespace='urn:etsi:nfv:yang:etsi-nfv-vnfd', defining_module='etsi-nfv-vnfd', yang_type='string', is_config=True)

4251 except (TypeError, ValueError):

4252 raise ValueError({

4253 'error-string': """id must be of a type compatible with string""",

4254 'defined-type': "string",

4255 'generated-type': """YANGDynClass(base=str, is_leaf=True, yang_name="id", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, is_keyval=True, namespace='urn:etsi:nfv:yang:etsi-nfv-vnfd', defining_module='etsi-nfv-vnfd', yang_type='string', is_config=True)""",

4256 })

4257

4258 self.__id = t

4259 if hasattr(self, '_set'):

4260 self._set()

4261

4262 def _unset_id(self):

4263 self.__id = YANGDynClass(base=str, is_leaf=True, yang_name="id", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, is_keyval=True, namespace='urn:etsi:nfv:yang:etsi-nfv-vnfd', defining_module='etsi-nfv-vnfd', yang_type='string', is_config=True)

4264

4265

4266 def _get_name(self):

4267 """

4268 Getter method for name, mapped from YANG variable /vnfd/vdu/name (string)

4269

4270 YANG Description: Human readable name of the VDU.

4271 """

4272 return self.__name

4273

4274 def _set_name(self, v, load=False):

4275 """

4276 Setter method for name, mapped from YANG variable /vnfd/vdu/name (string)

4277 If this variable is read-only (config: false) in the

4278 source YANG file, then _set_name is considered as a private

4279 method. Backends looking to populate this variable should

4280 do so via calling thisObj._set_name() directly.

4281

4282 YANG Description: Human readable name of the VDU.

4283 """

4284 if hasattr(v, "_utype"):

4285 v = v._utype(v)

4286 try:

4287 t = YANGDynClass(v,base=str, is_leaf=True, yang_name="name", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='urn:etsi:nfv:yang:etsi-nfv-vnfd', defining_module='etsi-nfv-vnfd', yang_type='string', is_config=True)

4288 except (TypeError, ValueError):

4289 raise ValueError({

4290 'error-string': """name must be of a type compatible with string""",

4291 'defined-type': "string",

4292 'generated-type': """YANGDynClass(base=str, is_leaf=True, yang_name="name", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='urn:etsi:nfv:yang:etsi-nfv-vnfd', defining_module='etsi-nfv-vnfd', yang_type='string', is_config=True)""",

4293 })

4294

4295 self.__name = t

4296 if hasattr(self, '_set'):

4297 self._set()

4298

4299 def _unset_name(self):

4300 self.__name = YANGDynClass(base=str, is_leaf=True, yang_name="name", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='urn:etsi:nfv:yang:etsi-nfv-vnfd', defining_module='etsi-nfv-vnfd', yang_type='string', is_config=True)

4301

4302

4303 def _get_description(self):

4304 """

4305 Getter method for description, mapped from YANG variable /vnfd/vdu/description (string)

4306

4307 YANG Description: Human readable description of the VDU.

4308 """

4309 return self.__description

4310

4311 def _set_description(self, v, load=False):

4312 """

4313 Setter method for description, mapped from YANG variable /vnfd/vdu/description (string)

4314 If this variable is read-only (config: false) in the

4315 source YANG file, then _set_description is considered as a private

4316 method. Backends looking to populate this variable should

4317 do so via calling thisObj._set_description() directly.

4318

4319 YANG Description: Human readable description of the VDU.

4320 """

4321 if hasattr(v, "_utype"):

4322 v = v._utype(v)

4323 try:

4324 t = YANGDynClass(v,base=str, is_leaf=True, yang_name="description", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='urn:etsi:nfv:yang:etsi-nfv-vnfd', defining_module='etsi-nfv-vnfd', yang_type='string', is_config=True)

4325 except (TypeError, ValueError):

4326 raise ValueError({

4327 'error-string': """description must be of a type compatible with string""",

4328 'defined-type': "string",

4329 'generated-type': """YANGDynClass(base=str, is_leaf=True, yang_name="description", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='urn:etsi:nfv:yang:etsi-nfv-vnfd', defining_module='etsi-nfv-vnfd', yang_type='string', is_config=True)""",

4330 })

4331

4332 self.__description = t

4333 if hasattr(self, '_set'):

4334 self._set()

4335

4336 def _unset_description(self):

4337 self.__description = YANGDynClass(base=str, is_leaf=True, yang_name="description", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='urn:etsi:nfv:yang:etsi-nfv-vnfd', defining_module='etsi-nfv-vnfd', yang_type='string', is_config=True)

4338

4339

4340 def _get_int_cpd(self):

4341 """

4342 Getter method for int_cpd, mapped from YANG variable /vnfd/vdu/int_cpd (list)

4343

4344 YANG Description: A internal-connection-point element is a type of

4345 connection point and describes network connectivity

4346 between a VDU instance and an internal Virtual Link or

4347 an external connection point.

4348 """

4349 return self.__int_cpd

4350

4351 def _set_int_cpd(self, v, load=False):

4352 """

4353 Setter method for int_cpd, mapped from YANG variable /vnfd/vdu/int_cpd (list)

4354 If this variable is read-only (config: false) in the

4355 source YANG file, then _set_int_cpd is considered as a private

4356 method. Backends looking to populate this variable should

4357 do so via calling thisObj._set_int_cpd() directly.

4358

4359 YANG Description: A internal-connection-point element is a type of

4360 connection point and describes network connectivity

4361 between a VDU instance and an internal Virtual Link or

4362 an external connection point.

4363 """

4364 if hasattr(v, "_utype"):

4365 v = v._utype(v)

4366 try:

4367 t = YANGDynClass(v,base=YANGListType("id",yc_int_cpd_etsi_nfv_vnfd__vnfd_vdu_int_cpd, yang_name="int-cpd", parent=self, is_container='list', user_ordered=False, path_helper=self._path_helper, yang_keys='id', extensions=None), is_container='list', yang_name="int-cpd", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, extensions=None, namespace='urn:etsi:nfv:yang:etsi-nfv-vnfd', defining_module='etsi-nfv-vnfd', yang_type='list', is_config=True)

4368 except (TypeError, ValueError):

4369 raise ValueError({

4370 'error-string': """int_cpd must be of a type compatible with list""",

4371 'defined-type': "list",

4372 'generated-type': """YANGDynClass(base=YANGListType("id",yc_int_cpd_etsi_nfv_vnfd__vnfd_vdu_int_cpd, yang_name="int-cpd", parent=self, is_container='list', user_ordered=False, path_helper=self._path_helper, yang_keys='id', extensions=None), is_container='list', yang_name="int-cpd", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, extensions=None, namespace='urn:etsi:nfv:yang:etsi-nfv-vnfd', defining_module='etsi-nfv-vnfd', yang_type='list', is_config=True)""",

4373 })

4374

4375 self.__int_cpd = t

4376 if hasattr(self, '_set'):

4377 self._set()

4378

4379 def _unset_int_cpd(self):

4380 self.__int_cpd = YANGDynClass(base=YANGListType("id",yc_int_cpd_etsi_nfv_vnfd__vnfd_vdu_int_cpd, yang_name="int-cpd", parent=self, is_container='list', user_ordered=False, path_helper=self._path_helper, yang_keys='id', extensions=None), is_container='list', yang_name="int-cpd", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, extensions=None, namespace='urn:etsi:nfv:yang:etsi-nfv-vnfd', defining_module='etsi-nfv-vnfd', yang_type='list', is_config=True)

4381

4382

4383 def _get_virtual_compute_desc(self):

4384 """

4385 Getter method for virtual_compute_desc, mapped from YANG variable /vnfd/vdu/virtual_compute_desc (leafref)

4386

4387 YANG Description: Describes CPU, Memory and acceleration requirements of

4388 the Virtualisation Container realizing this VDU.

4389 """

4390 return self.__virtual_compute_desc

4391

4392 def _set_virtual_compute_desc(self, v, load=False):

4393 """

4394 Setter method for virtual_compute_desc, mapped from YANG variable /vnfd/vdu/virtual_compute_desc (leafref)

4395 If this variable is read-only (config: false) in the

4396 source YANG file, then _set_virtual_compute_desc is considered as a private

4397 method. Backends looking to populate this variable should

4398 do so via calling thisObj._set_virtual_compute_desc() directly.

4399

4400 YANG Description: Describes CPU, Memory and acceleration requirements of

4401 the Virtualisation Container realizing this VDU.

4402 """

4403 if hasattr(v, "_utype"):

4404 v = v._utype(v)

4405 try:

4406 t = YANGDynClass(v,base=str, is_leaf=True, yang_name="virtual-compute-desc", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='urn:etsi:nfv:yang:etsi-nfv-vnfd', defining_module='etsi-nfv-vnfd', yang_type='leafref', is_config=True)

4407 except (TypeError, ValueError):

4408 raise ValueError({

4409 'error-string': """virtual_compute_desc must be of a type compatible with leafref""",

4410 'defined-type': "leafref",

4411 'generated-type': """YANGDynClass(base=str, is_leaf=True, yang_name="virtual-compute-desc", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='urn:etsi:nfv:yang:etsi-nfv-vnfd', defining_module='etsi-nfv-vnfd', yang_type='leafref', is_config=True)""",

4412 })

4413

4414 self.__virtual_compute_desc = t

4415 if hasattr(self, '_set'):

4416 self._set()

4417

4418 def _unset_virtual_compute_desc(self):

4419 self.__virtual_compute_desc = YANGDynClass(base=str, is_leaf=True, yang_name="virtual-compute-desc", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='urn:etsi:nfv:yang:etsi-nfv-vnfd', defining_module='etsi-nfv-vnfd', yang_type='leafref', is_config=True)

4420

4421

4422 def _get_virtual_storage_desc(self):

4423 """

4424 Getter method for virtual_storage_desc, mapped from YANG variable /vnfd/vdu/virtual_storage_desc (leafref)

4425

4426 YANG Description: Describes storage requirements for a VirtualStorage

4427 instance attached to the virtualisation container

4428 created from virtualComputeDesc defined for this VDU.

4429 """

4430 return self.__virtual_storage_desc

4431

4432 def _set_virtual_storage_desc(self, v, load=False):

4433 """

4434 Setter method for virtual_storage_desc, mapped from YANG variable /vnfd/vdu/virtual_storage_desc (leafref)

4435 If this variable is read-only (config: false) in the

4436 source YANG file, then _set_virtual_storage_desc is considered as a private

4437 method. Backends looking to populate this variable should

4438 do so via calling thisObj._set_virtual_storage_desc() directly.

4439

4440 YANG Description: Describes storage requirements for a VirtualStorage

4441 instance attached to the virtualisation container

4442 created from virtualComputeDesc defined for this VDU.

4443 """

4444 if hasattr(v, "_utype"):

4445 v = v._utype(v)

4446 try:

4447 t = YANGDynClass(v,unique=True, base=TypedListType(allowed_type=str), is_leaf=False, yang_name="virtual-storage-desc", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='urn:etsi:nfv:yang:etsi-nfv-vnfd', defining_module='etsi-nfv-vnfd', yang_type='leafref', is_config=True)

4448 except (TypeError, ValueError):

4449 raise ValueError({

4450 'error-string': """virtual_storage_desc must be of a type compatible with leafref""",

4451 'defined-type': "leafref",

4452 'generated-type': """YANGDynClass(unique=True, base=TypedListType(allowed_type=str), is_leaf=False, yang_name="virtual-storage-desc", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='urn:etsi:nfv:yang:etsi-nfv-vnfd', defining_module='etsi-nfv-vnfd', yang_type='leafref', is_config=True)""",

4453 })

4454

4455 self.__virtual_storage_desc = t

4456 if hasattr(self, '_set'):

4457 self._set()

4458

4459 def _unset_virtual_storage_desc(self):

4460 self.__virtual_storage_desc = YANGDynClass(unique=True, base=TypedListType(allowed_type=str), is_leaf=False, yang_name="virtual-storage-desc", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='urn:etsi:nfv:yang:etsi-nfv-vnfd', defining_module='etsi-nfv-vnfd', yang_type='leafref', is_config=True)

4461

4462

4463 def _get_boot_order(self):

4464 """

4465 Getter method for boot_order, mapped from YANG variable /vnfd/vdu/boot_order (list)

4466

4467 YANG Description: The key indicates the boot index (lowest index defines

4468 highest boot priority). The Value references a descriptor

4469 from which a valid boot device is created e.g.

4470 VirtualStorageDesc from which a VirtualStorage instance

4471 is created.

4472

4473 Editor's note: The boot-order node requires further

4474 study.

4475 """

4476 return self.__boot_order

4477

4478 def _set_boot_order(self, v, load=False):

4479 """

4480 Setter method for boot_order, mapped from YANG variable /vnfd/vdu/boot_order (list)

4481 If this variable is read-only (config: false) in the

4482 source YANG file, then _set_boot_order is considered as a private

4483 method. Backends looking to populate this variable should

4484 do so via calling thisObj._set_boot_order() directly.

4485

4486 YANG Description: The key indicates the boot index (lowest index defines

4487 highest boot priority). The Value references a descriptor

4488 from which a valid boot device is created e.g.

4489 VirtualStorageDesc from which a VirtualStorage instance

4490 is created.

4491

4492 Editor's note: The boot-order node requires further

4493 study.

4494 """

4495 if hasattr(v, "_utype"):

4496 v = v._utype(v)

4497 try:

4498 t = YANGDynClass(v,base=YANGListType("key",yc_boot_order_etsi_nfv_vnfd__vnfd_vdu_boot_order, yang_name="boot-order", parent=self, is_container='list', user_ordered=True, path_helper=self._path_helper, yang_keys='key', extensions=None), is_container='list', yang_name="boot-order", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, extensions=None, namespace='urn:etsi:nfv:yang:etsi-nfv-vnfd', defining_module='etsi-nfv-vnfd', yang_type='list', is_config=True)

4499 except (TypeError, ValueError):

4500 raise ValueError({

4501 'error-string': """boot_order must be of a type compatible with list""",

4502 'defined-type': "list",

4503 'generated-type': """YANGDynClass(base=YANGListType("key",yc_boot_order_etsi_nfv_vnfd__vnfd_vdu_boot_order, yang_name="boot-order", parent=self, is_container='list', user_ordered=True, path_helper=self._path_helper, yang_keys='key', extensions=None), is_container='list', yang_name="boot-order", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, extensions=None, namespace='urn:etsi:nfv:yang:etsi-nfv-vnfd', defining_module='etsi-nfv-vnfd', yang_type='list', is_config=True)""",

4504 })

4505

4506 self.__boot_order = t

4507 if hasattr(self, '_set'):

4508 self._set()

4509

4510 def _unset_boot_order(self):

4511 self.__boot_order = YANGDynClass(base=YANGListType("key",yc_boot_order_etsi_nfv_vnfd__vnfd_vdu_boot_order, yang_name="boot-order", parent=self, is_container='list', user_ordered=True, path_helper=self._path_helper, yang_keys='key', extensions=None), is_container='list', yang_name="boot-order", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, extensions=None, namespace='urn:etsi:nfv:yang:etsi-nfv-vnfd', defining_module='etsi-nfv-vnfd', yang_type='list', is_config=True)

4512

4513

4514 def _get_sw_image_desc(self):

4515 """

4516 Getter method for sw_image_desc, mapped from YANG variable /vnfd/vdu/sw_image_desc (leafref)

4517

4518 YANG Description: Describes the software image which is directly loaded on

4519 the virtualisation container realising this Vdu.

4520 """

4521 return self.__sw_image_desc

4522

4523 def _set_sw_image_desc(self, v, load=False):

4524 """

4525 Setter method for sw_image_desc, mapped from YANG variable /vnfd/vdu/sw_image_desc (leafref)

4526 If this variable is read-only (config: false) in the

4527 source YANG file, then _set_sw_image_desc is considered as a private

4528 method. Backends looking to populate this variable should

4529 do so via calling thisObj._set_sw_image_desc() directly.

4530

4531 YANG Description: Describes the software image which is directly loaded on

4532 the virtualisation container realising this Vdu.

4533 """

4534 if hasattr(v, "_utype"):

4535 v = v._utype(v)

4536 try:

4537 t = YANGDynClass(v,base=str, is_leaf=True, yang_name="sw-image-desc", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='urn:etsi:nfv:yang:etsi-nfv-vnfd', defining_module='etsi-nfv-vnfd', yang_type='leafref', is_config=True)

4538 except (TypeError, ValueError):

4539 raise ValueError({

4540 'error-string': """sw_image_desc must be of a type compatible with leafref""",

4541 'defined-type': "leafref",

4542 'generated-type': """YANGDynClass(base=str, is_leaf=True, yang_name="sw-image-desc", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='urn:etsi:nfv:yang:etsi-nfv-vnfd', defining_module='etsi-nfv-vnfd', yang_type='leafref', is_config=True)""",

4543 })

4544

4545 self.__sw_image_desc = t

4546 if hasattr(self, '_set'):

4547 self._set()

4548

4549 def _unset_sw_image_desc(self):

4550 self.__sw_image_desc = YANGDynClass(base=str, is_leaf=True, yang_name="sw-image-desc", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='urn:etsi:nfv:yang:etsi-nfv-vnfd', defining_module='etsi-nfv-vnfd', yang_type='leafref', is_config=True)

4551

4552

4553 def _get_nfvi_constraint(self):

4554 """

4555 Getter method for nfvi_constraint, mapped from YANG variable /vnfd/vdu/nfvi_constraint (string)

4556

4557 YANG Description: Describes constraints on the NFVI for the VNFC

4558 instance(s) created from this Vdu. For example, aspects

4559 of a secure hosting environment for the VNFC instance

4560 that involve additional entities or processes.

4561 """

4562 return self.__nfvi_constraint

4563

4564 def _set_nfvi_constraint(self, v, load=False):

4565 """

4566 Setter method for nfvi_constraint, mapped from YANG variable /vnfd/vdu/nfvi_constraint (string)

4567 If this variable is read-only (config: false) in the

4568 source YANG file, then _set_nfvi_constraint is considered as a private

4569 method. Backends looking to populate this variable should

4570 do so via calling thisObj._set_nfvi_constraint() directly.

4571

4572 YANG Description: Describes constraints on the NFVI for the VNFC

4573 instance(s) created from this Vdu. For example, aspects

4574 of a secure hosting environment for the VNFC instance

4575 that involve additional entities or processes.

4576 """

4577 if hasattr(v, "_utype"):

4578 v = v._utype(v)

4579 try:

4580 t = YANGDynClass(v,unique=True, base=TypedListType(allowed_type=str), is_leaf=False, yang_name="nfvi-constraint", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='urn:etsi:nfv:yang:etsi-nfv-vnfd', defining_module='etsi-nfv-vnfd', yang_type='string', is_config=True)

4581 except (TypeError, ValueError):

4582 raise ValueError({

4583 'error-string': """nfvi_constraint must be of a type compatible with string""",

4584 'defined-type': "string",

4585 'generated-type': """YANGDynClass(unique=True, base=TypedListType(allowed_type=str), is_leaf=False, yang_name="nfvi-constraint", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='urn:etsi:nfv:yang:etsi-nfv-vnfd', defining_module='etsi-nfv-vnfd', yang_type='string', is_config=True)""",

4586 })

4587

4588 self.__nfvi_constraint = t

4589 if hasattr(self, '_set'):

4590 self._set()

4591

4592 def _unset_nfvi_constraint(self):

4593 self.__nfvi_constraint = YANGDynClass(unique=True, base=TypedListType(allowed_type=str), is_leaf=False, yang_name="nfvi-constraint", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='urn:etsi:nfv:yang:etsi-nfv-vnfd', defining_module='etsi-nfv-vnfd', yang_type='string', is_config=True)

4594

4595

4596 def _get_monitoring_parameter(self):

4597 """

4598 Getter method for monitoring_parameter, mapped from YANG variable /vnfd/vdu/monitoring_parameter (list)

4599 """

4600 return self.__monitoring_parameter

4601

4602 def _set_monitoring_parameter(self, v, load=False):

4603 """

4604 Setter method for monitoring_parameter, mapped from YANG variable /vnfd/vdu/monitoring_parameter (list)

4605 If this variable is read-only (config: false) in the

4606 source YANG file, then _set_monitoring_parameter is considered as a private

4607 method. Backends looking to populate this variable should

4608 do so via calling thisObj._set_monitoring_parameter() directly.

4609 """

4610 if hasattr(v, "_utype"):

4611 v = v._utype(v)

4612 try:

4613 t = YANGDynClass(v,base=YANGListType("id",yc_monitoring_parameter_etsi_nfv_vnfd__vnfd_vdu_monitoring_parameter, yang_name="monitoring-parameter", parent=self, is_container='list', user_ordered=False, path_helper=self._path_helper, yang_keys='id', extensions=None), is_container='list', yang_name="monitoring-parameter", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, extensions=None, namespace='urn:etsi:nfv:yang:etsi-nfv-vnfd', defining_module='etsi-nfv-vnfd', yang_type='list', is_config=True)

4614 except (TypeError, ValueError):

4615 raise ValueError({

4616 'error-string': """monitoring_parameter must be of a type compatible with list""",

4617 'defined-type': "list",

4618 'generated-type': """YANGDynClass(base=YANGListType("id",yc_monitoring_parameter_etsi_nfv_vnfd__vnfd_vdu_monitoring_parameter, yang_name="monitoring-parameter", parent=self, is_container='list', user_ordered=False, path_helper=self._path_helper, yang_keys='id', extensions=None), is_container='list', yang_name="monitoring-parameter", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, extensions=None, namespace='urn:etsi:nfv:yang:etsi-nfv-vnfd', defining_module='etsi-nfv-vnfd', yang_type='list', is_config=True)""",

4619 })

4620

4621 self.__monitoring_parameter = t

4622 if hasattr(self, '_set'):

4623 self._set()

4624

4625 def _unset_monitoring_parameter(self):

4626 self.__monitoring_parameter = YANGDynClass(base=YANGListType("id",yc_monitoring_parameter_etsi_nfv_vnfd__vnfd_vdu_monitoring_parameter, yang_name="monitoring-parameter", parent=self, is_container='list', user_ordered=False, path_helper=self._path_helper, yang_keys='id', extensions=None), is_container='list', yang_name="monitoring-parameter", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, extensions=None, namespace='urn:etsi:nfv:yang:etsi-nfv-vnfd', defining_module='etsi-nfv-vnfd', yang_type='list', is_config=True)

4627

4628

4629 def _get_configurable_properties(self):

4630 """

4631 Getter method for configurable_properties, mapped from YANG variable /vnfd/vdu/configurable_properties (list)

4632

4633 YANG Description: It provides VNFC configurable properties that can be

4634 modified using the ModifyVnfInfo operation.

4635 """

4636 return self.__configurable_properties

4637

4638 def _set_configurable_properties(self, v, load=False):

4639 """

4640 Setter method for configurable_properties, mapped from YANG variable /vnfd/vdu/configurable_properties (list)

4641 If this variable is read-only (config: false) in the

4642 source YANG file, then _set_configurable_properties is considered as a private

4643 method. Backends looking to populate this variable should

4644 do so via calling thisObj._set_configurable_properties() directly.

4645

4646 YANG Description: It provides VNFC configurable properties that can be

4647 modified using the ModifyVnfInfo operation.

4648 """

4649 if hasattr(v, "_utype"):

4650 v = v._utype(v)

4651 try:

4652 t = YANGDynClass(v,base=YANGListType("key",yc_configurable_properties_etsi_nfv_vnfd__vnfd_vdu_configurable_properties, yang_name="configurable-properties", parent=self, is_container='list', user_ordered=False, path_helper=self._path_helper, yang_keys='key', extensions=None), is_container='list', yang_name="configurable-properties", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, extensions=None, namespace='urn:etsi:nfv:yang:etsi-nfv-vnfd', defining_module='etsi-nfv-vnfd', yang_type='list', is_config=True)

4653 except (TypeError, ValueError):

4654 raise ValueError({

4655 'error-string': """configurable_properties must be of a type compatible with list""",

4656 'defined-type': "list",

4657 'generated-type': """YANGDynClass(base=YANGListType("key",yc_configurable_properties_etsi_nfv_vnfd__vnfd_vdu_configurable_properties, yang_name="configurable-properties", parent=self, is_container='list', user_ordered=False, path_helper=self._path_helper, yang_keys='key', extensions=None), is_container='list', yang_name="configurable-properties", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, extensions=None, namespace='urn:etsi:nfv:yang:etsi-nfv-vnfd', defining_module='etsi-nfv-vnfd', yang_type='list', is_config=True)""",

4658 })

4659

4660 self.__configurable_properties = t

4661 if hasattr(self, '_set'):

4662 self._set()

4663

4664 def _unset_configurable_properties(self):

4665 self.__configurable_properties = YANGDynClass(base=YANGListType("key",yc_configurable_properties_etsi_nfv_vnfd__vnfd_vdu_configurable_properties, yang_name="configurable-properties", parent=self, is_container='list', user_ordered=False, path_helper=self._path_helper, yang_keys='key', extensions=None), is_container='list', yang_name="configurable-properties", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, extensions=None, namespace='urn:etsi:nfv:yang:etsi-nfv-vnfd', defining_module='etsi-nfv-vnfd', yang_type='list', is_config=True)

4666

4667

4668 def _get_boot_data(self):

4669 """

4670 Getter method for boot_data, mapped from YANG variable /vnfd/vdu/boot_data (string)

4671

4672 YANG Description: Contains a string or a URL to a file contained in the

4673 VNF package used to customize a virtualised compute

4674 resource at boot time. The bootData may contain variable

4675 parts that are replaced by deployment specific values

4676 before being sent to the VIM.

4677 """

4678 return self.__boot_data

4679

4680 def _set_boot_data(self, v, load=False):

4681 """

4682 Setter method for boot_data, mapped from YANG variable /vnfd/vdu/boot_data (string)

4683 If this variable is read-only (config: false) in the

4684 source YANG file, then _set_boot_data is considered as a private

4685 method. Backends looking to populate this variable should

4686 do so via calling thisObj._set_boot_data() directly.

4687

4688 YANG Description: Contains a string or a URL to a file contained in the

4689 VNF package used to customize a virtualised compute

4690 resource at boot time. The bootData may contain variable

4691 parts that are replaced by deployment specific values

4692 before being sent to the VIM.

4693 """

4694 if hasattr(v, "_utype"):

4695 v = v._utype(v)

4696 try:

4697 t = YANGDynClass(v,base=str, is_leaf=True, yang_name="boot-data", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='urn:etsi:nfv:yang:etsi-nfv-vnfd', defining_module='etsi-nfv-vnfd', yang_type='string', is_config=True)

4698 except (TypeError, ValueError):

4699 raise ValueError({

4700 'error-string': """boot_data must be of a type compatible with string""",

4701 'defined-type': "string",

4702 'generated-type': """YANGDynClass(base=str, is_leaf=True, yang_name="boot-data", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='urn:etsi:nfv:yang:etsi-nfv-vnfd', defining_module='etsi-nfv-vnfd', yang_type='string', is_config=True)""",

4703 })

4704

4705 self.__boot_data = t

4706 if hasattr(self, '_set'):

4707 self._set()

4708

4709 def _unset_boot_data(self):

4710 self.__boot_data = YANGDynClass(base=str, is_leaf=True, yang_name="boot-data", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='urn:etsi:nfv:yang:etsi-nfv-vnfd', defining_module='etsi-nfv-vnfd', yang_type='string', is_config=True)

4711

4712

4713 def _get_alarm(self):

4714 """

4715 Getter method for alarm, mapped from YANG variable /vnfd/vdu/alarm (list)

4716 """

4717 return self.__alarm

4718

4719 def _set_alarm(self, v, load=False):

4720 """

4721 Setter method for alarm, mapped from YANG variable /vnfd/vdu/alarm (list)

4722 If this variable is read-only (config: false) in the

4723 source YANG file, then _set_alarm is considered as a private

4724 method. Backends looking to populate this variable should

4725 do so via calling thisObj._set_alarm() directly.

4726 """

4727 if hasattr(v, "_utype"):

4728 v = v._utype(v)

4729 try:

4730 t = YANGDynClass(v,base=YANGListType("alarm_id",yc_alarm_etsi_nfv_vnfd__vnfd_vdu_alarm, yang_name="alarm", parent=self, is_container='list', user_ordered=False, path_helper=self._path_helper, yang_keys='alarm-id', extensions=None), is_container='list', yang_name="alarm", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, extensions=None, namespace='urn:etsi:osm:yang:augments:alarm', defining_module='alarm', yang_type='list', is_config=True)

4731 except (TypeError, ValueError):

4732 raise ValueError({

4733 'error-string': """alarm must be of a type compatible with list""",

4734 'defined-type': "list",

4735 'generated-type': """YANGDynClass(base=YANGListType("alarm_id",yc_alarm_etsi_nfv_vnfd__vnfd_vdu_alarm, yang_name="alarm", parent=self, is_container='list', user_ordered=False, path_helper=self._path_helper, yang_keys='alarm-id', extensions=None), is_container='list', yang_name="alarm", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, extensions=None, namespace='urn:etsi:osm:yang:augments:alarm', defining_module='alarm', yang_type='list', is_config=True)""",

4736 })

4737

4738 self.__alarm = t

4739 if hasattr(self, '_set'):

4740 self._set()

4741

4742 def _unset_alarm(self):

4743 self.__alarm = YANGDynClass(base=YANGListType("alarm_id",yc_alarm_etsi_nfv_vnfd__vnfd_vdu_alarm, yang_name="alarm", parent=self, is_container='list', user_ordered=False, path_helper=self._path_helper, yang_keys='alarm-id', extensions=None), is_container='list', yang_name="alarm", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, extensions=None, namespace='urn:etsi:osm:yang:augments:alarm', defining_module='alarm', yang_type='list', is_config=True)

4744

4745

4746 def _get_alternative_sw_image_desc(self):

4747 """

4748 Getter method for alternative_sw_image_desc, mapped from YANG variable /vnfd/vdu/alternative_sw_image_desc (leafref)

4749

4750 YANG Description: List of alternative images per VIM type.

4751 Different images can be used for specific types of VIMs instead

4752 of the default image. This allows deployments in sites where the

4753 image identifier in the VIM is given by the VIM provider and

4754 cannot be modified.

4755 If an alternative image is specified for a VIM type, it will prevail

4756 over the default image

4757 """

4758 return self.__alternative_sw_image_desc

4759

4760 def _set_alternative_sw_image_desc(self, v, load=False):

4761 """

4762 Setter method for alternative_sw_image_desc, mapped from YANG variable /vnfd/vdu/alternative_sw_image_desc (leafref)

4763 If this variable is read-only (config: false) in the

4764 source YANG file, then _set_alternative_sw_image_desc is considered as a private

4765 method. Backends looking to populate this variable should

4766 do so via calling thisObj._set_alternative_sw_image_desc() directly.

4767

4768 YANG Description: List of alternative images per VIM type.

4769 Different images can be used for specific types of VIMs instead

4770 of the default image. This allows deployments in sites where the

4771 image identifier in the VIM is given by the VIM provider and

4772 cannot be modified.

4773 If an alternative image is specified for a VIM type, it will prevail

4774 over the default image

4775 """

4776 if hasattr(v, "_utype"):

4777 v = v._utype(v)

4778 try:

4779 t = YANGDynClass(v,unique=True, base=TypedListType(allowed_type=str), is_leaf=False, yang_name="alternative-sw-image-desc", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='urn:etsi:osm:yang:alternative-images', defining_module='alternative-images', yang_type='leafref', is_config=True)

4780 except (TypeError, ValueError):

4781 raise ValueError({

4782 'error-string': """alternative_sw_image_desc must be of a type compatible with leafref""",

4783 'defined-type': "leafref",

4784 'generated-type': """YANGDynClass(unique=True, base=TypedListType(allowed_type=str), is_leaf=False, yang_name="alternative-sw-image-desc", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='urn:etsi:osm:yang:alternative-images', defining_module='alternative-images', yang_type='leafref', is_config=True)""",

4785 })

4786

4787 self.__alternative_sw_image_desc = t

4788 if hasattr(self, '_set'):

4789 self._set()

4790

4791 def _unset_alternative_sw_image_desc(self):

4792 self.__alternative_sw_image_desc = YANGDynClass(unique=True, base=TypedListType(allowed_type=str), is_leaf=False, yang_name="alternative-sw-image-desc", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='urn:etsi:osm:yang:alternative-images', defining_module='alternative-images', yang_type='leafref', is_config=True)

4793

4794

4795 def _get_cloud_init(self):

4796 """

4797 Getter method for cloud_init, mapped from YANG variable /vnfd/vdu/cloud_init (string)

4798

4799 YANG Description: Contents of cloud-init script, provided inline, in cloud-config format

4800 """

4801 return self.__cloud_init

4802

4803 def _set_cloud_init(self, v, load=False):

4804 """

4805 Setter method for cloud_init, mapped from YANG variable /vnfd/vdu/cloud_init (string)

4806 If this variable is read-only (config: false) in the

4807 source YANG file, then _set_cloud_init is considered as a private

4808 method. Backends looking to populate this variable should

4809 do so via calling thisObj._set_cloud_init() directly.

4810

4811 YANG Description: Contents of cloud-init script, provided inline, in cloud-config format

4812 """

4813 if hasattr(v, "_utype"):

4814 v = v._utype(v)

4815 try:

4816 t = YANGDynClass(v,base=str, is_leaf=True, yang_name="cloud-init", parent=self, choice=('cloud-init-input', 'inline'), path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='urn:etsi:osm:yang:augments:cloud-init', defining_module='cloud-init', yang_type='string', is_config=True)

4817 except (TypeError, ValueError):

4818 raise ValueError({

4819 'error-string': """cloud_init must be of a type compatible with string""",

4820 'defined-type': "string",

4821 'generated-type': """YANGDynClass(base=str, is_leaf=True, yang_name="cloud-init", parent=self, choice=('cloud-init-input', 'inline'), path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='urn:etsi:osm:yang:augments:cloud-init', defining_module='cloud-init', yang_type='string', is_config=True)""",

4822 })

4823

4824 self.__cloud_init = t

4825 if hasattr(self, '_set'):

4826 self._set()

4827

4828 def _unset_cloud_init(self):

4829 self.__cloud_init = YANGDynClass(base=str, is_leaf=True, yang_name="cloud-init", parent=self, choice=('cloud-init-input', 'inline'), path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='urn:etsi:osm:yang:augments:cloud-init', defining_module='cloud-init', yang_type='string', is_config=True)

4830

4831

4832 def _get_cloud_init_file(self):

4833 """

4834 Getter method for cloud_init_file, mapped from YANG variable /vnfd/vdu/cloud_init_file (string)

4835

4836 YANG Description: Name of file with contents of cloud-init script in cloud-config format

4837 """

4838 return self.__cloud_init_file

4839

4840 def _set_cloud_init_file(self, v, load=False):

4841 """

4842 Setter method for cloud_init_file, mapped from YANG variable /vnfd/vdu/cloud_init_file (string)

4843 If this variable is read-only (config: false) in the

4844 source YANG file, then _set_cloud_init_file is considered as a private

4845 method. Backends looking to populate this variable should

4846 do so via calling thisObj._set_cloud_init_file() directly.

4847

4848 YANG Description: Name of file with contents of cloud-init script in cloud-config format

4849 """

4850 if hasattr(v, "_utype"):

4851 v = v._utype(v)

4852 try:

4853 t = YANGDynClass(v,base=str, is_leaf=True, yang_name="cloud-init-file", parent=self, choice=('cloud-init-input', 'filename'), path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='urn:etsi:osm:yang:augments:cloud-init', defining_module='cloud-init', yang_type='string', is_config=True)

4854 except (TypeError, ValueError):

4855 raise ValueError({

4856 'error-string': """cloud_init_file must be of a type compatible with string""",

4857 'defined-type': "string",

4858 'generated-type': """YANGDynClass(base=str, is_leaf=True, yang_name="cloud-init-file", parent=self, choice=('cloud-init-input', 'filename'), path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='urn:etsi:osm:yang:augments:cloud-init', defining_module='cloud-init', yang_type='string', is_config=True)""",

4859 })

4860

4861 self.__cloud_init_file = t

4862 if hasattr(self, '_set'):

4863 self._set()

4864

4865 def _unset_cloud_init_file(self):

4866 self.__cloud_init_file = YANGDynClass(base=str, is_leaf=True, yang_name="cloud-init-file", parent=self, choice=('cloud-init-input', 'filename'), path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='urn:etsi:osm:yang:augments:cloud-init', defining_module='cloud-init', yang_type='string', is_config=True)

4867

4868

4869 def _get_pdu_type(self):

4870 """

4871 Getter method for pdu_type, mapped from YANG variable /vnfd/vdu/pdu_type (string)

4872

4873 YANG Description: Type of PDU. If this field exists, the deployment unit must be

4874 understood as a PDU, not as a VDU. This field is used to identify

4875 the category of PDU instances to be used at instantiation time. For

4876 the instantiation to be successful, there must be available

4877 PDU instances of this type in the selected datacenter.

4878 """

4879 return self.__pdu_type

4880

4881 def _set_pdu_type(self, v, load=False):

4882 """

4883 Setter method for pdu_type, mapped from YANG variable /vnfd/vdu/pdu_type (string)

4884 If this variable is read-only (config: false) in the

4885 source YANG file, then _set_pdu_type is considered as a private

4886 method. Backends looking to populate this variable should

4887 do so via calling thisObj._set_pdu_type() directly.

4888

4889 YANG Description: Type of PDU. If this field exists, the deployment unit must be

4890 understood as a PDU, not as a VDU. This field is used to identify

4891 the category of PDU instances to be used at instantiation time. For

4892 the instantiation to be successful, there must be available

4893 PDU instances of this type in the selected datacenter.

4894 """

4895 if hasattr(v, "_utype"):

4896 v = v._utype(v)

4897 try:

4898 t = YANGDynClass(v,base=str, is_leaf=True, yang_name="pdu-type", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='urn:etsi:osm:yang:augments:various', defining_module='various', yang_type='string', is_config=True)

4899 except (TypeError, ValueError):

4900 raise ValueError({

4901 'error-string': """pdu_type must be of a type compatible with string""",

4902 'defined-type': "string",

4903 'generated-type': """YANGDynClass(base=str, is_leaf=True, yang_name="pdu-type", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='urn:etsi:osm:yang:augments:various', defining_module='various', yang_type='string', is_config=True)""",

4904 })

4905

4906 self.__pdu_type = t

4907 if hasattr(self, '_set'):

4908 self._set()

4909

4910 def _unset_pdu_type(self):

4911 self.__pdu_type = YANGDynClass(base=str, is_leaf=True, yang_name="pdu-type", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='urn:etsi:osm:yang:augments:various', defining_module='various', yang_type='string', is_config=True)

4912

4913

4914 def _get_supplemental_boot_data(self):

4915 """

4916 Getter method for supplemental_boot_data, mapped from YANG variable /vnfd/vdu/supplemental_boot_data (container)

4917 """

4918 return self.__supplemental_boot_data

4919

4920 def _set_supplemental_boot_data(self, v, load=False):

4921 """

4922 Setter method for supplemental_boot_data, mapped from YANG variable /vnfd/vdu/supplemental_boot_data (container)

4923 If this variable is read-only (config: false) in the

4924 source YANG file, then _set_supplemental_boot_data is considered as a private

4925 method. Backends looking to populate this variable should

4926 do so via calling thisObj._set_supplemental_boot_data() directly.

4927 """

4928 if hasattr(v, "_utype"):

4929 v = v._utype(v)

4930 try:

4931 t = YANGDynClass(v,base=yc_supplemental_boot_data_etsi_nfv_vnfd__vnfd_vdu_supplemental_boot_data, is_container='container', yang_name="supplemental-boot-data", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, extensions=None, namespace='urn:etsi:osm:yang:augments:various', defining_module='various', yang_type='container', is_config=True)

4932 except (TypeError, ValueError):

4933 raise ValueError({

4934 'error-string': """supplemental_boot_data must be of a type compatible with container""",

4935 'defined-type': "container",

4936 'generated-type': """YANGDynClass(base=yc_supplemental_boot_data_etsi_nfv_vnfd__vnfd_vdu_supplemental_boot_data, is_container='container', yang_name="supplemental-boot-data", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, extensions=None, namespace='urn:etsi:osm:yang:augments:various', defining_module='various', yang_type='container', is_config=True)""",

4937 })

4938

4939 self.__supplemental_boot_data = t

4940 if hasattr(self, '_set'):

4941 self._set()

4942

4943 def _unset_supplemental_boot_data(self):

4944 self.__supplemental_boot_data = YANGDynClass(base=yc_supplemental_boot_data_etsi_nfv_vnfd__vnfd_vdu_supplemental_boot_data, is_container='container', yang_name="supplemental-boot-data", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, extensions=None, namespace='urn:etsi:osm:yang:augments:various', defining_module='various', yang_type='container', is_config=True)

4945

4946 id = __builtin__.property(_get_id, _set_id)

4947 name = __builtin__.property(_get_name, _set_name)

4948 description = __builtin__.property(_get_description, _set_description)

4949 int_cpd = __builtin__.property(_get_int_cpd, _set_int_cpd)

4950 virtual_compute_desc = __builtin__.property(_get_virtual_compute_desc, _set_virtual_compute_desc)

4951 virtual_storage_desc = __builtin__.property(_get_virtual_storage_desc, _set_virtual_storage_desc)

4952 boot_order = __builtin__.property(_get_boot_order, _set_boot_order)

4953 sw_image_desc = __builtin__.property(_get_sw_image_desc, _set_sw_image_desc)

4954 nfvi_constraint = __builtin__.property(_get_nfvi_constraint, _set_nfvi_constraint)

4955 monitoring_parameter = __builtin__.property(_get_monitoring_parameter, _set_monitoring_parameter)

4956 configurable_properties = __builtin__.property(_get_configurable_properties, _set_configurable_properties)

4957 boot_data = __builtin__.property(_get_boot_data, _set_boot_data)

4958 alarm = __builtin__.property(_get_alarm, _set_alarm)

4959 alternative_sw_image_desc = __builtin__.property(_get_alternative_sw_image_desc, _set_alternative_sw_image_desc)

4960 cloud_init = __builtin__.property(_get_cloud_init, _set_cloud_init)

4961 cloud_init_file = __builtin__.property(_get_cloud_init_file, _set_cloud_init_file)

4962 pdu_type = __builtin__.property(_get_pdu_type, _set_pdu_type)

4963 supplemental_boot_data = __builtin__.property(_get_supplemental_boot_data, _set_supplemental_boot_data)

4964

4965 __choices__ = {'cloud-init-input': {'inline': ['cloud_init'], 'filename': ['cloud_init_file']}}

4966 _pyangbind_elements = OrderedDict([('id', id), ('name', name), ('description', description), ('int_cpd', int_cpd), ('virtual_compute_desc', virtual_compute_desc), ('virtual_storage_desc', virtual_storage_desc), ('boot_order', boot_order), ('sw_image_desc', sw_image_desc), ('nfvi_constraint', nfvi_constraint), ('monitoring_parameter', monitoring_parameter), ('configurable_properties', configurable_properties), ('boot_data', boot_data), ('alarm', alarm), ('alternative_sw_image_desc', alternative_sw_image_desc), ('cloud_init', cloud_init), ('cloud_init_file', cloud_init_file), ('pdu_type', pdu_type), ('supplemental_boot_data', supplemental_boot_data), ])

4967

4968

4969 class yc_requirement_detail_etsi_nfv_vnfd__vnfd_virtual_compute_desc_logical_node_requirement_detail(PybindBase):

4970 """

4971 This class was auto-generated by the PythonClass plugin for PYANG

4972 from YANG module etsi-nfv-vnfd - based on the path /vnfd/virtual-compute-desc/logical-node/requirement-detail. Each member element of

4973 the container is represented as a class variable - with a specific

4974 YANG type.

4975

4976 YANG Description: The logical node-level compute, memory and I/O

4977 requirements. An array of key-value pairs that

4978 articulate the deployment requirements.

4979

4980 This could include the number of CPU cores on this

4981 logical node, a memory configuration specific to a

4982 logical node (e.g. such as available in the Linux

4983 kernel via the libnuma library) or a requirement

4984 related to the association of an I/O device with the

4985 logical node.

4986 """

4987 __slots__ = ('_path_helper', '_extmethods', '__key','__value',)

4988

4989 _yang_name = 'requirement-detail'

4990 _yang_namespace = 'urn:etsi:nfv:yang:etsi-nfv-vnfd'

4991

4992 _pybind_generated_by = 'container'

4993

4994 def __init__(self, *args, **kwargs):

4995

4996 self._path_helper = False

4997

4998 self._extmethods = False

4999 self.__key = YANGDynClass(base=str, is_leaf=True, yang_name="key", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, is_keyval=True, namespace='urn:etsi:nfv:yang:etsi-nfv-vnfd', defining_module='etsi-nfv-vnfd', yang_type='string', is_config=True)

5000 self.__value = YANGDynClass(base=str, is_leaf=True, yang_name="value", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='urn:etsi:nfv:yang:etsi-nfv-vnfd', defining_module='etsi-nfv-vnfd', yang_type='string', is_config=True)

5001

5002 load = kwargs.pop("load", None)

5003 if args:

5004 if len(args) > 1:

5005 raise TypeError("cannot create a YANG container with >1 argument")

5006 all_attr = True

5007 for e in self._pyangbind_elements:

5008 if not hasattr(args[0], e):

5009 all_attr = False

5010 break

5011 if not all_attr:

5012 raise ValueError("Supplied object did not have the correct attributes")

5013 for e in self._pyangbind_elements:

5014 nobj = getattr(args[0], e)

5015 if nobj._changed() is False:

5016 continue

5017 setmethod = getattr(self, "_set_%s" % e)

5018 if load is None:

5019 setmethod(getattr(args[0], e))

5020 else:

5021 setmethod(getattr(args[0], e), load=load)

5022

5023 def _path(self):

5024 if hasattr(self, "_parent"):

5025 return self._parent._path()+[self._yang_name]

5026 else:

5027 return ['vnfd', 'virtual-compute-desc', 'logical-node', 'requirement-detail']

5028

5029 def _get_key(self):

5030 """

5031 Getter method for key, mapped from YANG variable /vnfd/virtual_compute_desc/logical_node/requirement_detail/key (string)

5032 """

5033 return self.__key

5034

5035 def _set_key(self, v, load=False):

5036 """

5037 Setter method for key, mapped from YANG variable /vnfd/virtual_compute_desc/logical_node/requirement_detail/key (string)

5038 If this variable is read-only (config: false) in the

5039 source YANG file, then _set_key is considered as a private

5040 method. Backends looking to populate this variable should

5041 do so via calling thisObj._set_key() directly.

5042 """

5043 parent = getattr(self, "_parent", None)

5044 if parent is not None and load is False:

5045 raise AttributeError("Cannot set keys directly when" +

5046 " within an instantiated list")

5047

5048 if hasattr(v, "_utype"):

5049 v = v._utype(v)

5050 try:

5051 t = YANGDynClass(v,base=str, is_leaf=True, yang_name="key", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, is_keyval=True, namespace='urn:etsi:nfv:yang:etsi-nfv-vnfd', defining_module='etsi-nfv-vnfd', yang_type='string', is_config=True)

5052 except (TypeError, ValueError):

5053 raise ValueError({

5054 'error-string': """key must be of a type compatible with string""",

5055 'defined-type': "string",

5056 'generated-type': """YANGDynClass(base=str, is_leaf=True, yang_name="key", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, is_keyval=True, namespace='urn:etsi:nfv:yang:etsi-nfv-vnfd', defining_module='etsi-nfv-vnfd', yang_type='string', is_config=True)""",

5057 })

5058

5059 self.__key = t

5060 if hasattr(self, '_set'):

5061 self._set()

5062

5063 def _unset_key(self):

5064 self.__key = YANGDynClass(base=str, is_leaf=True, yang_name="key", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, is_keyval=True, namespace='urn:etsi:nfv:yang:etsi-nfv-vnfd', defining_module='etsi-nfv-vnfd', yang_type='string', is_config=True)

5065

5066

5067 def _get_value(self):

5068 """

5069 Getter method for value, mapped from YANG variable /vnfd/virtual_compute_desc/logical_node/requirement_detail/value (string)

5070 """

5071 return self.__value

5072

5073 def _set_value(self, v, load=False):

5074 """

5075 Setter method for value, mapped from YANG variable /vnfd/virtual_compute_desc/logical_node/requirement_detail/value (string)

5076 If this variable is read-only (config: false) in the

5077 source YANG file, then _set_value is considered as a private

5078 method. Backends looking to populate this variable should

5079 do so via calling thisObj._set_value() directly.

5080 """

5081 if hasattr(v, "_utype"):

5082 v = v._utype(v)

5083 try:

5084 t = YANGDynClass(v,base=str, is_leaf=True, yang_name="value", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='urn:etsi:nfv:yang:etsi-nfv-vnfd', defining_module='etsi-nfv-vnfd', yang_type='string', is_config=True)

5085 except (TypeError, ValueError):

5086 raise ValueError({

5087 'error-string': """value must be of a type compatible with string""",

5088 'defined-type': "string",

5089 'generated-type': """YANGDynClass(base=str, is_leaf=True, yang_name="value", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='urn:etsi:nfv:yang:etsi-nfv-vnfd', defining_module='etsi-nfv-vnfd', yang_type='string', is_config=True)""",

5090 })

5091

5092 self.__value = t

5093 if hasattr(self, '_set'):

5094 self._set()

5095

5096 def _unset_value(self):

5097 self.__value = YANGDynClass(base=str, is_leaf=True, yang_name="value", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='urn:etsi:nfv:yang:etsi-nfv-vnfd', defining_module='etsi-nfv-vnfd', yang_type='string', is_config=True)

5098

5099 key = __builtin__.property(_get_key, _set_key)

5100 value = __builtin__.property(_get_value, _set_value)

5101

5102

5103 _pyangbind_elements = OrderedDict([('key', key), ('value', value), ])

5104

5105

5106 class yc_logical_node_etsi_nfv_vnfd__vnfd_virtual_compute_desc_logical_node(PybindBase):

5107 """

5108 This class was auto-generated by the PythonClass plugin for PYANG

5109 from YANG module etsi-nfv-vnfd - based on the path /vnfd/virtual-compute-desc/logical-node. Each member element of

5110 the container is represented as a class variable - with a specific

5111 YANG type.

5112

5113 YANG Description: The logical node requirements.

5114 """

5115 __slots__ = ('_path_helper', '_extmethods', '__id','__requirement_detail',)

5116

5117 _yang_name = 'logical-node'

5118 _yang_namespace = 'urn:etsi:nfv:yang:etsi-nfv-vnfd'

5119

5120 _pybind_generated_by = 'container'

5121

5122 def __init__(self, *args, **kwargs):

5123

5124 self._path_helper = False

5125

5126 self._extmethods = False

5127 self.__id = YANGDynClass(base=str, is_leaf=True, yang_name="id", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, is_keyval=True, namespace='urn:etsi:nfv:yang:etsi-nfv-vnfd', defining_module='etsi-nfv-vnfd', yang_type='string', is_config=True)

5128 self.__requirement_detail = YANGDynClass(base=YANGListType("key",yc_requirement_detail_etsi_nfv_vnfd__vnfd_virtual_compute_desc_logical_node_requirement_detail, yang_name="requirement-detail", parent=self, is_container='list', user_ordered=False, path_helper=self._path_helper, yang_keys='key', extensions=None), is_container='list', yang_name="requirement-detail", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, extensions=None, namespace='urn:etsi:nfv:yang:etsi-nfv-vnfd', defining_module='etsi-nfv-vnfd', yang_type='list', is_config=True)

5129

5130 load = kwargs.pop("load", None)

5131 if args:

5132 if len(args) > 1:

5133 raise TypeError("cannot create a YANG container with >1 argument")

5134 all_attr = True

5135 for e in self._pyangbind_elements:

5136 if not hasattr(args[0], e):

5137 all_attr = False

5138 break

5139 if not all_attr:

5140 raise ValueError("Supplied object did not have the correct attributes")

5141 for e in self._pyangbind_elements:

5142 nobj = getattr(args[0], e)

5143 if nobj._changed() is False:

5144 continue

5145 setmethod = getattr(self, "_set_%s" % e)

5146 if load is None:

5147 setmethod(getattr(args[0], e))

5148 else:

5149 setmethod(getattr(args[0], e), load=load)

5150

5151 def _path(self):

5152 if hasattr(self, "_parent"):

5153 return self._parent._path()+[self._yang_name]

5154 else:

5155 return ['vnfd', 'virtual-compute-desc', 'logical-node']

5156

5157 def _get_id(self):

5158 """

5159 Getter method for id, mapped from YANG variable /vnfd/virtual_compute_desc/logical_node/id (string)

5160

5161 YANG Description: Identifies this set of logical node requirements.

5162 """

5163 return self.__id

5164

5165 def _set_id(self, v, load=False):

5166 """

5167 Setter method for id, mapped from YANG variable /vnfd/virtual_compute_desc/logical_node/id (string)

5168 If this variable is read-only (config: false) in the

5169 source YANG file, then _set_id is considered as a private

5170 method. Backends looking to populate this variable should

5171 do so via calling thisObj._set_id() directly.

5172

5173 YANG Description: Identifies this set of logical node requirements.

5174 """

5175 parent = getattr(self, "_parent", None)

5176 if parent is not None and load is False:

5177 raise AttributeError("Cannot set keys directly when" +

5178 " within an instantiated list")

5179

5180 if hasattr(v, "_utype"):

5181 v = v._utype(v)

5182 try:

5183 t = YANGDynClass(v,base=str, is_leaf=True, yang_name="id", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, is_keyval=True, namespace='urn:etsi:nfv:yang:etsi-nfv-vnfd', defining_module='etsi-nfv-vnfd', yang_type='string', is_config=True)

5184 except (TypeError, ValueError):

5185 raise ValueError({

5186 'error-string': """id must be of a type compatible with string""",

5187 'defined-type': "string",

5188 'generated-type': """YANGDynClass(base=str, is_leaf=True, yang_name="id", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, is_keyval=True, namespace='urn:etsi:nfv:yang:etsi-nfv-vnfd', defining_module='etsi-nfv-vnfd', yang_type='string', is_config=True)""",

5189 })

5190

5191 self.__id = t

5192 if hasattr(self, '_set'):

5193 self._set()

5194

5195 def _unset_id(self):

5196 self.__id = YANGDynClass(base=str, is_leaf=True, yang_name="id", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, is_keyval=True, namespace='urn:etsi:nfv:yang:etsi-nfv-vnfd', defining_module='etsi-nfv-vnfd', yang_type='string', is_config=True)

5197

5198

5199 def _get_requirement_detail(self):

5200 """

5201 Getter method for requirement_detail, mapped from YANG variable /vnfd/virtual_compute_desc/logical_node/requirement_detail (list)

5202

5203 YANG Description: The logical node-level compute, memory and I/O

5204 requirements. An array of key-value pairs that

5205 articulate the deployment requirements.

5206

5207 This could include the number of CPU cores on this

5208 logical node, a memory configuration specific to a

5209 logical node (e.g. such as available in the Linux

5210 kernel via the libnuma library) or a requirement

5211 related to the association of an I/O device with the

5212 logical node.

5213 """

5214 return self.__requirement_detail

5215

5216 def _set_requirement_detail(self, v, load=False):

5217 """

5218 Setter method for requirement_detail, mapped from YANG variable /vnfd/virtual_compute_desc/logical_node/requirement_detail (list)

5219 If this variable is read-only (config: false) in the

5220 source YANG file, then _set_requirement_detail is considered as a private

5221 method. Backends looking to populate this variable should

5222 do so via calling thisObj._set_requirement_detail() directly.

5223

5224 YANG Description: The logical node-level compute, memory and I/O

5225 requirements. An array of key-value pairs that

5226 articulate the deployment requirements.

5227

5228 This could include the number of CPU cores on this

5229 logical node, a memory configuration specific to a

5230 logical node (e.g. such as available in the Linux

5231 kernel via the libnuma library) or a requirement

5232 related to the association of an I/O device with the

5233 logical node.

5234 """

5235 if hasattr(v, "_utype"):

5236 v = v._utype(v)

5237 try:

5238 t = YANGDynClass(v,base=YANGListType("key",yc_requirement_detail_etsi_nfv_vnfd__vnfd_virtual_compute_desc_logical_node_requirement_detail, yang_name="requirement-detail", parent=self, is_container='list', user_ordered=False, path_helper=self._path_helper, yang_keys='key', extensions=None), is_container='list', yang_name="requirement-detail", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, extensions=None, namespace='urn:etsi:nfv:yang:etsi-nfv-vnfd', defining_module='etsi-nfv-vnfd', yang_type='list', is_config=True)

5239 except (TypeError, ValueError):

5240 raise ValueError({

5241 'error-string': """requirement_detail must be of a type compatible with list""",

5242 'defined-type': "list",

5243 'generated-type': """YANGDynClass(base=YANGListType("key",yc_requirement_detail_etsi_nfv_vnfd__vnfd_virtual_compute_desc_logical_node_requirement_detail, yang_name="requirement-detail", parent=self, is_container='list', user_ordered=False, path_helper=self._path_helper, yang_keys='key', extensions=None), is_container='list', yang_name="requirement-detail", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, extensions=None, namespace='urn:etsi:nfv:yang:etsi-nfv-vnfd', defining_module='etsi-nfv-vnfd', yang_type='list', is_config=True)""",

5244 })

5245

5246 self.__requirement_detail = t

5247 if hasattr(self, '_set'):

5248 self._set()

5249

5250 def _unset_requirement_detail(self):

5251 self.__requirement_detail = YANGDynClass(base=YANGListType("key",yc_requirement_detail_etsi_nfv_vnfd__vnfd_virtual_compute_desc_logical_node_requirement_detail, yang_name="requirement-detail", parent=self, is_container='list', user_ordered=False, path_helper=self._path_helper, yang_keys='key', extensions=None), is_container='list', yang_name="requirement-detail", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, extensions=None, namespace='urn:etsi:nfv:yang:etsi-nfv-vnfd', defining_module='etsi-nfv-vnfd', yang_type='list', is_config=True)

5252

5253 id = __builtin__.property(_get_id, _set_id)

5254 requirement_detail = __builtin__.property(_get_requirement_detail, _set_requirement_detail)

5255

5256

5257 _pyangbind_elements = OrderedDict([('id', id), ('requirement_detail', requirement_detail), ])

5258

5259

5260 class yc_target_performance_parameters_etsi_nfv_vnfd__vnfd_virtual_compute_desc_request_additional_capability_target_performance_parameters(PybindBase):

5261 """

5262 This class was auto-generated by the PythonClass plugin for PYANG

5263 from YANG module etsi-nfv-vnfd - based on the path /vnfd/virtual-compute-desc/request-additional-capability/target-performance-parameters. Each member element of

5264 the container is represented as a class variable - with a specific

5265 YANG type.

5266

5267 YANG Description: Identifies specific attributes, dependent on the

5268 requested additional capability type.

5269 """

5270 __slots__ = ('_path_helper', '_extmethods', '__key','__value',)

5271

5272 _yang_name = 'target-performance-parameters'

5273 _yang_namespace = 'urn:etsi:nfv:yang:etsi-nfv-vnfd'

5274

5275 _pybind_generated_by = 'container'

5276

5277 def __init__(self, *args, **kwargs):

5278

5279 self._path_helper = False

5280

5281 self._extmethods = False

5282 self.__key = YANGDynClass(base=str, is_leaf=True, yang_name="key", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, is_keyval=True, namespace='urn:etsi:nfv:yang:etsi-nfv-vnfd', defining_module='etsi-nfv-vnfd', yang_type='string', is_config=True)

5283 self.__value = YANGDynClass(base=str, is_leaf=True, yang_name="value", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='urn:etsi:nfv:yang:etsi-nfv-vnfd', defining_module='etsi-nfv-vnfd', yang_type='string', is_config=True)

5284

5285 load = kwargs.pop("load", None)

5286 if args:

5287 if len(args) > 1:

5288 raise TypeError("cannot create a YANG container with >1 argument")

5289 all_attr = True

5290 for e in self._pyangbind_elements:

5291 if not hasattr(args[0], e):

5292 all_attr = False

5293 break

5294 if not all_attr:

5295 raise ValueError("Supplied object did not have the correct attributes")

5296 for e in self._pyangbind_elements:

5297 nobj = getattr(args[0], e)

5298 if nobj._changed() is False:

5299 continue

5300 setmethod = getattr(self, "_set_%s" % e)

5301 if load is None:

5302 setmethod(getattr(args[0], e))

5303 else:

5304 setmethod(getattr(args[0], e), load=load)

5305

5306 def _path(self):

5307 if hasattr(self, "_parent"):

5308 return self._parent._path()+[self._yang_name]

5309 else:

5310 return ['vnfd', 'virtual-compute-desc', 'request-additional-capability', 'target-performance-parameters']

5311

5312 def _get_key(self):

5313 """

5314 Getter method for key, mapped from YANG variable /vnfd/virtual_compute_desc/request_additional_capability/target_performance_parameters/key (string)

5315 """

5316 return self.__key

5317

5318 def _set_key(self, v, load=False):

5319 """

5320 Setter method for key, mapped from YANG variable /vnfd/virtual_compute_desc/request_additional_capability/target_performance_parameters/key (string)

5321 If this variable is read-only (config: false) in the

5322 source YANG file, then _set_key is considered as a private

5323 method. Backends looking to populate this variable should

5324 do so via calling thisObj._set_key() directly.

5325 """

5326 parent = getattr(self, "_parent", None)

5327 if parent is not None and load is False:

5328 raise AttributeError("Cannot set keys directly when" +

5329 " within an instantiated list")

5330

5331 if hasattr(v, "_utype"):

5332 v = v._utype(v)

5333 try:

5334 t = YANGDynClass(v,base=str, is_leaf=True, yang_name="key", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, is_keyval=True, namespace='urn:etsi:nfv:yang:etsi-nfv-vnfd', defining_module='etsi-nfv-vnfd', yang_type='string', is_config=True)

5335 except (TypeError, ValueError):

5336 raise ValueError({

5337 'error-string': """key must be of a type compatible with string""",

5338 'defined-type': "string",

5339 'generated-type': """YANGDynClass(base=str, is_leaf=True, yang_name="key", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, is_keyval=True, namespace='urn:etsi:nfv:yang:etsi-nfv-vnfd', defining_module='etsi-nfv-vnfd', yang_type='string', is_config=True)""",

5340 })

5341

5342 self.__key = t

5343 if hasattr(self, '_set'):

5344 self._set()

5345

5346 def _unset_key(self):

5347 self.__key = YANGDynClass(base=str, is_leaf=True, yang_name="key", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, is_keyval=True, namespace='urn:etsi:nfv:yang:etsi-nfv-vnfd', defining_module='etsi-nfv-vnfd', yang_type='string', is_config=True)

5348

5349

5350 def _get_value(self):

5351 """

5352 Getter method for value, mapped from YANG variable /vnfd/virtual_compute_desc/request_additional_capability/target_performance_parameters/value (string)

5353 """

5354 return self.__value

5355

5356 def _set_value(self, v, load=False):

5357 """

5358 Setter method for value, mapped from YANG variable /vnfd/virtual_compute_desc/request_additional_capability/target_performance_parameters/value (string)

5359 If this variable is read-only (config: false) in the

5360 source YANG file, then _set_value is considered as a private

5361 method. Backends looking to populate this variable should

5362 do so via calling thisObj._set_value() directly.

5363 """

5364 if hasattr(v, "_utype"):

5365 v = v._utype(v)

5366 try:

5367 t = YANGDynClass(v,base=str, is_leaf=True, yang_name="value", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='urn:etsi:nfv:yang:etsi-nfv-vnfd', defining_module='etsi-nfv-vnfd', yang_type='string', is_config=True)

5368 except (TypeError, ValueError):

5369 raise ValueError({

5370 'error-string': """value must be of a type compatible with string""",

5371 'defined-type': "string",

5372 'generated-type': """YANGDynClass(base=str, is_leaf=True, yang_name="value", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='urn:etsi:nfv:yang:etsi-nfv-vnfd', defining_module='etsi-nfv-vnfd', yang_type='string', is_config=True)""",

5373 })

5374

5375 self.__value = t

5376 if hasattr(self, '_set'):

5377 self._set()

5378

5379 def _unset_value(self):

5380 self.__value = YANGDynClass(base=str, is_leaf=True, yang_name="value", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='urn:etsi:nfv:yang:etsi-nfv-vnfd', defining_module='etsi-nfv-vnfd', yang_type='string', is_config=True)

5381

5382 key = __builtin__.property(_get_key, _set_key)

5383 value = __builtin__.property(_get_value, _set_value)

5384

5385

5386 _pyangbind_elements = OrderedDict([('key', key), ('value', value), ])

5387

5388

5389 class yc_request_additional_capability_etsi_nfv_vnfd__vnfd_virtual_compute_desc_request_additional_capability(PybindBase):

5390 """

5391 This class was auto-generated by the PythonClass plugin for PYANG

5392 from YANG module etsi-nfv-vnfd - based on the path /vnfd/virtual-compute-desc/request-additional-capability. Each member element of

5393 the container is represented as a class variable - with a specific

5394 YANG type.

5395 """

5396 __slots__ = ('_path_helper', '_extmethods', '__name','__support_mandatory','__min_version','__preferred_version','__target_performance_parameters',)

5397

5398 _yang_name = 'request-additional-capability'

5399 _yang_namespace = 'urn:etsi:nfv:yang:etsi-nfv-vnfd'

5400

5401 _pybind_generated_by = 'container'

5402

5403 def __init__(self, *args, **kwargs):

5404

5405 self._path_helper = False

5406

5407 self._extmethods = False

5408 self.__name = YANGDynClass(base=str, is_leaf=True, yang_name="name", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, is_keyval=True, namespace='urn:etsi:nfv:yang:etsi-nfv-vnfd', defining_module='etsi-nfv-vnfd', yang_type='string', is_config=True)

5409 self.__support_mandatory = YANGDynClass(base=YANGBool, is_leaf=True, yang_name="support-mandatory", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='urn:etsi:nfv:yang:etsi-nfv-vnfd', defining_module='etsi-nfv-vnfd', yang_type='boolean', is_config=True)

5410 self.__min_version = YANGDynClass(base=str, is_leaf=True, yang_name="min-version", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='urn:etsi:nfv:yang:etsi-nfv-vnfd', defining_module='etsi-nfv-vnfd', yang_type='string', is_config=True)

5411 self.__preferred_version = YANGDynClass(base=str, is_leaf=True, yang_name="preferred-version", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='urn:etsi:nfv:yang:etsi-nfv-vnfd', defining_module='etsi-nfv-vnfd', yang_type='string', is_config=True)

5412 self.__target_performance_parameters = YANGDynClass(base=YANGListType("key",yc_target_performance_parameters_etsi_nfv_vnfd__vnfd_virtual_compute_desc_request_additional_capability_target_performance_parameters, yang_name="target-performance-parameters", parent=self, is_container='list', user_ordered=False, path_helper=self._path_helper, yang_keys='key', extensions=None), is_container='list', yang_name="target-performance-parameters", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, extensions=None, namespace='urn:etsi:nfv:yang:etsi-nfv-vnfd', defining_module='etsi-nfv-vnfd', yang_type='list', is_config=True)

5413

5414 load = kwargs.pop("load", None)

5415 if args:

5416 if len(args) > 1:

5417 raise TypeError("cannot create a YANG container with >1 argument")

5418 all_attr = True

5419 for e in self._pyangbind_elements:

5420 if not hasattr(args[0], e):

5421 all_attr = False

5422 break

5423 if not all_attr:

5424 raise ValueError("Supplied object did not have the correct attributes")

5425 for e in self._pyangbind_elements:

5426 nobj = getattr(args[0], e)

5427 if nobj._changed() is False:

5428 continue

5429 setmethod = getattr(self, "_set_%s" % e)

5430 if load is None:

5431 setmethod(getattr(args[0], e))

5432 else:

5433 setmethod(getattr(args[0], e), load=load)

5434

5435 def _path(self):

5436 if hasattr(self, "_parent"):

5437 return self._parent._path()+[self._yang_name]

5438 else:

5439 return ['vnfd', 'virtual-compute-desc', 'request-additional-capability']

5440

5441 def _get_name(self):

5442 """

5443 Getter method for name, mapped from YANG variable /vnfd/virtual_compute_desc/request_additional_capability/name (string)

5444

5445 YANG Description: Identifies a requested additional capability for the

5446 VDU. ETSI GS NFV-IFA 002 [i.1] describes acceleration

5447 capabilities.

5448 """

5449 return self.__name

5450

5451 def _set_name(self, v, load=False):

5452 """

5453 Setter method for name, mapped from YANG variable /vnfd/virtual_compute_desc/request_additional_capability/name (string)

5454 If this variable is read-only (config: false) in the

5455 source YANG file, then _set_name is considered as a private

5456 method. Backends looking to populate this variable should

5457 do so via calling thisObj._set_name() directly.

5458

5459 YANG Description: Identifies a requested additional capability for the

5460 VDU. ETSI GS NFV-IFA 002 [i.1] describes acceleration

5461 capabilities.

5462 """

5463 parent = getattr(self, "_parent", None)

5464 if parent is not None and load is False:

5465 raise AttributeError("Cannot set keys directly when" +

5466 " within an instantiated list")

5467

5468 if hasattr(v, "_utype"):

5469 v = v._utype(v)

5470 try:

5471 t = YANGDynClass(v,base=str, is_leaf=True, yang_name="name", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, is_keyval=True, namespace='urn:etsi:nfv:yang:etsi-nfv-vnfd', defining_module='etsi-nfv-vnfd', yang_type='string', is_config=True)

5472 except (TypeError, ValueError):

5473 raise ValueError({

5474 'error-string': """name must be of a type compatible with string""",

5475 'defined-type': "string",

5476 'generated-type': """YANGDynClass(base=str, is_leaf=True, yang_name="name", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, is_keyval=True, namespace='urn:etsi:nfv:yang:etsi-nfv-vnfd', defining_module='etsi-nfv-vnfd', yang_type='string', is_config=True)""",

5477 })

5478

5479 self.__name = t

5480 if hasattr(self, '_set'):

5481 self._set()

5482

5483 def _unset_name(self):

5484 self.__name = YANGDynClass(base=str, is_leaf=True, yang_name="name", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, is_keyval=True, namespace='urn:etsi:nfv:yang:etsi-nfv-vnfd', defining_module='etsi-nfv-vnfd', yang_type='string', is_config=True)

5485

5486

5487 def _get_support_mandatory(self):

5488 """

5489 Getter method for support_mandatory, mapped from YANG variable /vnfd/virtual_compute_desc/request_additional_capability/support_mandatory (boolean)

5490

5491 YANG Description: Indicates whether the requested additional capability

5492 is mandatory for successful operation.

5493 """

5494 return self.__support_mandatory

5495

5496 def _set_support_mandatory(self, v, load=False):

5497 """

5498 Setter method for support_mandatory, mapped from YANG variable /vnfd/virtual_compute_desc/request_additional_capability/support_mandatory (boolean)

5499 If this variable is read-only (config: false) in the

5500 source YANG file, then _set_support_mandatory is considered as a private

5501 method. Backends looking to populate this variable should

5502 do so via calling thisObj._set_support_mandatory() directly.

5503

5504 YANG Description: Indicates whether the requested additional capability

5505 is mandatory for successful operation.

5506 """

5507 if hasattr(v, "_utype"):

5508 v = v._utype(v)

5509 try:

5510 t = YANGDynClass(v,base=YANGBool, is_leaf=True, yang_name="support-mandatory", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='urn:etsi:nfv:yang:etsi-nfv-vnfd', defining_module='etsi-nfv-vnfd', yang_type='boolean', is_config=True)

5511 except (TypeError, ValueError):

5512 raise ValueError({

5513 'error-string': """support_mandatory must be of a type compatible with boolean""",

5514 'defined-type': "boolean",

5515 'generated-type': """YANGDynClass(base=YANGBool, is_leaf=True, yang_name="support-mandatory", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='urn:etsi:nfv:yang:etsi-nfv-vnfd', defining_module='etsi-nfv-vnfd', yang_type='boolean', is_config=True)""",

5516 })

5517

5518 self.__support_mandatory = t

5519 if hasattr(self, '_set'):

5520 self._set()

5521

5522 def _unset_support_mandatory(self):

5523 self.__support_mandatory = YANGDynClass(base=YANGBool, is_leaf=True, yang_name="support-mandatory", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='urn:etsi:nfv:yang:etsi-nfv-vnfd', defining_module='etsi-nfv-vnfd', yang_type='boolean', is_config=True)

5524

5525

5526 def _get_min_version(self):

5527 """

5528 Getter method for min_version, mapped from YANG variable /vnfd/virtual_compute_desc/request_additional_capability/min_version (string)

5529

5530 YANG Description: Identifies the minimum version of the requested

5531 additional capability.

5532 """

5533 return self.__min_version

5534

5535 def _set_min_version(self, v, load=False):

5536 """

5537 Setter method for min_version, mapped from YANG variable /vnfd/virtual_compute_desc/request_additional_capability/min_version (string)

5538 If this variable is read-only (config: false) in the

5539 source YANG file, then _set_min_version is considered as a private

5540 method. Backends looking to populate this variable should

5541 do so via calling thisObj._set_min_version() directly.

5542

5543 YANG Description: Identifies the minimum version of the requested

5544 additional capability.

5545 """

5546 if hasattr(v, "_utype"):

5547 v = v._utype(v)

5548 try:

5549 t = YANGDynClass(v,base=str, is_leaf=True, yang_name="min-version", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='urn:etsi:nfv:yang:etsi-nfv-vnfd', defining_module='etsi-nfv-vnfd', yang_type='string', is_config=True)

5550 except (TypeError, ValueError):

5551 raise ValueError({

5552 'error-string': """min_version must be of a type compatible with string""",

5553 'defined-type': "string",

5554 'generated-type': """YANGDynClass(base=str, is_leaf=True, yang_name="min-version", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='urn:etsi:nfv:yang:etsi-nfv-vnfd', defining_module='etsi-nfv-vnfd', yang_type='string', is_config=True)""",

5555 })

5556

5557 self.__min_version = t

5558 if hasattr(self, '_set'):

5559 self._set()

5560

5561 def _unset_min_version(self):

5562 self.__min_version = YANGDynClass(base=str, is_leaf=True, yang_name="min-version", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='urn:etsi:nfv:yang:etsi-nfv-vnfd', defining_module='etsi-nfv-vnfd', yang_type='string', is_config=True)

5563

5564

5565 def _get_preferred_version(self):

5566 """

5567 Getter method for preferred_version, mapped from YANG variable /vnfd/virtual_compute_desc/request_additional_capability/preferred_version (string)

5568

5569 YANG Description: Identifies the preferred version of the requested

5570 additional capability.

5571 """

5572 return self.__preferred_version

5573

5574 def _set_preferred_version(self, v, load=False):

5575 """

5576 Setter method for preferred_version, mapped from YANG variable /vnfd/virtual_compute_desc/request_additional_capability/preferred_version (string)

5577 If this variable is read-only (config: false) in the

5578 source YANG file, then _set_preferred_version is considered as a private

5579 method. Backends looking to populate this variable should

5580 do so via calling thisObj._set_preferred_version() directly.

5581

5582 YANG Description: Identifies the preferred version of the requested

5583 additional capability.

5584 """

5585 if hasattr(v, "_utype"):

5586 v = v._utype(v)

5587 try:

5588 t = YANGDynClass(v,base=str, is_leaf=True, yang_name="preferred-version", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='urn:etsi:nfv:yang:etsi-nfv-vnfd', defining_module='etsi-nfv-vnfd', yang_type='string', is_config=True)

5589 except (TypeError, ValueError):

5590 raise ValueError({

5591 'error-string': """preferred_version must be of a type compatible with string""",

5592 'defined-type': "string",

5593 'generated-type': """YANGDynClass(base=str, is_leaf=True, yang_name="preferred-version", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='urn:etsi:nfv:yang:etsi-nfv-vnfd', defining_module='etsi-nfv-vnfd', yang_type='string', is_config=True)""",

5594 })

5595

5596 self.__preferred_version = t

5597 if hasattr(self, '_set'):

5598 self._set()

5599

5600 def _unset_preferred_version(self):

5601 self.__preferred_version = YANGDynClass(base=str, is_leaf=True, yang_name="preferred-version", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='urn:etsi:nfv:yang:etsi-nfv-vnfd', defining_module='etsi-nfv-vnfd', yang_type='string', is_config=True)

5602

5603

5604 def _get_target_performance_parameters(self):

5605 """

5606 Getter method for target_performance_parameters, mapped from YANG variable /vnfd/virtual_compute_desc/request_additional_capability/target_performance_parameters (list)

5607

5608 YANG Description: Identifies specific attributes, dependent on the

5609 requested additional capability type.

5610 """

5611 return self.__target_performance_parameters

5612

5613 def _set_target_performance_parameters(self, v, load=False):

5614 """

5615 Setter method for target_performance_parameters, mapped from YANG variable /vnfd/virtual_compute_desc/request_additional_capability/target_performance_parameters (list)

5616 If this variable is read-only (config: false) in the

5617 source YANG file, then _set_target_performance_parameters is considered as a private

5618 method. Backends looking to populate this variable should

5619 do so via calling thisObj._set_target_performance_parameters() directly.

5620

5621 YANG Description: Identifies specific attributes, dependent on the

5622 requested additional capability type.

5623 """

5624 if hasattr(v, "_utype"):

5625 v = v._utype(v)

5626 try:

5627 t = YANGDynClass(v,base=YANGListType("key",yc_target_performance_parameters_etsi_nfv_vnfd__vnfd_virtual_compute_desc_request_additional_capability_target_performance_parameters, yang_name="target-performance-parameters", parent=self, is_container='list', user_ordered=False, path_helper=self._path_helper, yang_keys='key', extensions=None), is_container='list', yang_name="target-performance-parameters", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, extensions=None, namespace='urn:etsi:nfv:yang:etsi-nfv-vnfd', defining_module='etsi-nfv-vnfd', yang_type='list', is_config=True)

5628 except (TypeError, ValueError):

5629 raise ValueError({

5630 'error-string': """target_performance_parameters must be of a type compatible with list""",

5631 'defined-type': "list",

5632 'generated-type': """YANGDynClass(base=YANGListType("key",yc_target_performance_parameters_etsi_nfv_vnfd__vnfd_virtual_compute_desc_request_additional_capability_target_performance_parameters, yang_name="target-performance-parameters", parent=self, is_container='list', user_ordered=False, path_helper=self._path_helper, yang_keys='key', extensions=None), is_container='list', yang_name="target-performance-parameters", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, extensions=None, namespace='urn:etsi:nfv:yang:etsi-nfv-vnfd', defining_module='etsi-nfv-vnfd', yang_type='list', is_config=True)""",

5633 })

5634

5635 self.__target_performance_parameters = t

5636 if hasattr(self, '_set'):

5637 self._set()

5638

5639 def _unset_target_performance_parameters(self):

5640 self.__target_performance_parameters = YANGDynClass(base=YANGListType("key",yc_target_performance_parameters_etsi_nfv_vnfd__vnfd_virtual_compute_desc_request_additional_capability_target_performance_parameters, yang_name="target-performance-parameters", parent=self, is_container='list', user_ordered=False, path_helper=self._path_helper, yang_keys='key', extensions=None), is_container='list', yang_name="target-performance-parameters", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, extensions=None, namespace='urn:etsi:nfv:yang:etsi-nfv-vnfd', defining_module='etsi-nfv-vnfd', yang_type='list', is_config=True)

5641

5642 name = __builtin__.property(_get_name, _set_name)

5643 support_mandatory = __builtin__.property(_get_support_mandatory, _set_support_mandatory)

5644 min_version = __builtin__.property(_get_min_version, _set_min_version)

5645 preferred_version = __builtin__.property(_get_preferred_version, _set_preferred_version)

5646 target_performance_parameters = __builtin__.property(_get_target_performance_parameters, _set_target_performance_parameters)

5647

5648

5649 _pyangbind_elements = OrderedDict([('name', name), ('support_mandatory', support_mandatory), ('min_version', min_version), ('preferred_version', preferred_version), ('target_performance_parameters', target_performance_parameters), ])

5650

5651

5652 class yc_vdu_mem_requirements_etsi_nfv_vnfd__vnfd_virtual_compute_desc_virtual_memory_vdu_mem_requirements(PybindBase):

5653 """

5654 This class was auto-generated by the PythonClass plugin for PYANG

5655 from YANG module etsi-nfv-vnfd - based on the path /vnfd/virtual-compute-desc/virtual-memory/vdu-mem-requirements. Each member element of

5656 the container is represented as a class variable - with a specific

5657 YANG type.

5658

5659 YANG Description: Array of key-value pair requirements on the memory for

5660 the VDU.

5661 """

5662 __slots__ = ('_path_helper', '_extmethods', '__key','__value',)

5663

5664 _yang_name = 'vdu-mem-requirements'

5665 _yang_namespace = 'urn:etsi:nfv:yang:etsi-nfv-vnfd'

5666

5667 _pybind_generated_by = 'container'

5668

5669 def __init__(self, *args, **kwargs):

5670

5671 self._path_helper = False

5672

5673 self._extmethods = False

5674 self.__key = YANGDynClass(base=str, is_leaf=True, yang_name="key", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, is_keyval=True, namespace='urn:etsi:nfv:yang:etsi-nfv-vnfd', defining_module='etsi-nfv-vnfd', yang_type='string', is_config=True)

5675 self.__value = YANGDynClass(base=str, is_leaf=True, yang_name="value", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='urn:etsi:nfv:yang:etsi-nfv-vnfd', defining_module='etsi-nfv-vnfd', yang_type='string', is_config=True)

5676

5677 load = kwargs.pop("load", None)

5678 if args:

5679 if len(args) > 1:

5680 raise TypeError("cannot create a YANG container with >1 argument")

5681 all_attr = True

5682 for e in self._pyangbind_elements:

5683 if not hasattr(args[0], e):

5684 all_attr = False

5685 break

5686 if not all_attr:

5687 raise ValueError("Supplied object did not have the correct attributes")

5688 for e in self._pyangbind_elements:

5689 nobj = getattr(args[0], e)

5690 if nobj._changed() is False:

5691 continue

5692 setmethod = getattr(self, "_set_%s" % e)

5693 if load is None:

5694 setmethod(getattr(args[0], e))

5695 else:

5696 setmethod(getattr(args[0], e), load=load)

5697

5698 def _path(self):

5699 if hasattr(self, "_parent"):

5700 return self._parent._path()+[self._yang_name]

5701 else:

5702 return ['vnfd', 'virtual-compute-desc', 'virtual-memory', 'vdu-mem-requirements']

5703

5704 def _get_key(self):

5705 """

5706 Getter method for key, mapped from YANG variable /vnfd/virtual_compute_desc/virtual_memory/vdu_mem_requirements/key (string)

5707 """

5708 return self.__key

5709

5710 def _set_key(self, v, load=False):

5711 """

5712 Setter method for key, mapped from YANG variable /vnfd/virtual_compute_desc/virtual_memory/vdu_mem_requirements/key (string)

5713 If this variable is read-only (config: false) in the

5714 source YANG file, then _set_key is considered as a private

5715 method. Backends looking to populate this variable should

5716 do so via calling thisObj._set_key() directly.

5717 """

5718 parent = getattr(self, "_parent", None)

5719 if parent is not None and load is False:

5720 raise AttributeError("Cannot set keys directly when" +

5721 " within an instantiated list")

5722

5723 if hasattr(v, "_utype"):

5724 v = v._utype(v)

5725 try:

5726 t = YANGDynClass(v,base=str, is_leaf=True, yang_name="key", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, is_keyval=True, namespace='urn:etsi:nfv:yang:etsi-nfv-vnfd', defining_module='etsi-nfv-vnfd', yang_type='string', is_config=True)

5727 except (TypeError, ValueError):

5728 raise ValueError({

5729 'error-string': """key must be of a type compatible with string""",

5730 'defined-type': "string",

5731 'generated-type': """YANGDynClass(base=str, is_leaf=True, yang_name="key", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, is_keyval=True, namespace='urn:etsi:nfv:yang:etsi-nfv-vnfd', defining_module='etsi-nfv-vnfd', yang_type='string', is_config=True)""",

5732 })

5733

5734 self.__key = t

5735 if hasattr(self, '_set'):

5736 self._set()

5737

5738 def _unset_key(self):

5739 self.__key = YANGDynClass(base=str, is_leaf=True, yang_name="key", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, is_keyval=True, namespace='urn:etsi:nfv:yang:etsi-nfv-vnfd', defining_module='etsi-nfv-vnfd', yang_type='string', is_config=True)

5740

5741

5742 def _get_value(self):

5743 """

5744 Getter method for value, mapped from YANG variable /vnfd/virtual_compute_desc/virtual_memory/vdu_mem_requirements/value (string)

5745 """

5746 return self.__value

5747

5748 def _set_value(self, v, load=False):

5749 """

5750 Setter method for value, mapped from YANG variable /vnfd/virtual_compute_desc/virtual_memory/vdu_mem_requirements/value (string)

5751 If this variable is read-only (config: false) in the

5752 source YANG file, then _set_value is considered as a private

5753 method. Backends looking to populate this variable should

5754 do so via calling thisObj._set_value() directly.

5755 """

5756 if hasattr(v, "_utype"):

5757 v = v._utype(v)

5758 try:

5759 t = YANGDynClass(v,base=str, is_leaf=True, yang_name="value", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='urn:etsi:nfv:yang:etsi-nfv-vnfd', defining_module='etsi-nfv-vnfd', yang_type='string', is_config=True)

5760 except (TypeError, ValueError):

5761 raise ValueError({

5762 'error-string': """value must be of a type compatible with string""",

5763 'defined-type': "string",

5764 'generated-type': """YANGDynClass(base=str, is_leaf=True, yang_name="value", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='urn:etsi:nfv:yang:etsi-nfv-vnfd', defining_module='etsi-nfv-vnfd', yang_type='string', is_config=True)""",

5765 })

5766

5767 self.__value = t

5768 if hasattr(self, '_set'):

5769 self._set()

5770

5771 def _unset_value(self):

5772 self.__value = YANGDynClass(base=str, is_leaf=True, yang_name="value", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='urn:etsi:nfv:yang:etsi-nfv-vnfd', defining_module='etsi-nfv-vnfd', yang_type='string', is_config=True)

5773

5774 key = __builtin__.property(_get_key, _set_key)

5775 value = __builtin__.property(_get_value, _set_value)

5776

5777

5778 _pyangbind_elements = OrderedDict([('key', key), ('value', value), ])

5779

5780

5781 class yc_vcpu_etsi_nfv_vnfd__vnfd_virtual_compute_desc_virtual_memory_numa_node_policy_node_vcpu(PybindBase):

5782 """

5783 This class was auto-generated by the PythonClass plugin for PYANG

5784 from YANG module etsi-nfv-vnfd - based on the path /vnfd/virtual-compute-desc/virtual-memory/numa-node-policy/node/vcpu. Each member element of

5785 the container is represented as a class variable - with a specific

5786 YANG type.

5787

5788 YANG Description: List of VCPUs to allocate on

5789 this NUMA node.

5790 """

5791 __slots__ = ('_path_helper', '_extmethods', '__id',)

5792

5793 _yang_name = 'vcpu'

5794 _yang_namespace = 'urn:etsi:nfv:yang:etsi-nfv-vnfd'

5795

5796 _pybind_generated_by = 'container'

5797

5798 def __init__(self, *args, **kwargs):

5799

5800 self._path_helper = False

5801

5802 self._extmethods = False

5803 self.__id = YANGDynClass(base=RestrictedClassType(base_type=long, restriction_dict={'range': ['0..18446744073709551615']}, int_size=64), is_leaf=True, yang_name="id", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, is_keyval=True, namespace='urn:etsi:osm:yang:augments:epa', defining_module='epa', yang_type='uint64', is_config=True)

5804

5805 load = kwargs.pop("load", None)

5806 if args:

5807 if len(args) > 1:

5808 raise TypeError("cannot create a YANG container with >1 argument")

5809 all_attr = True

5810 for e in self._pyangbind_elements:

5811 if not hasattr(args[0], e):

5812 all_attr = False

5813 break

5814 if not all_attr:

5815 raise ValueError("Supplied object did not have the correct attributes")

5816 for e in self._pyangbind_elements:

5817 nobj = getattr(args[0], e)

5818 if nobj._changed() is False:

5819 continue

5820 setmethod = getattr(self, "_set_%s" % e)

5821 if load is None:

5822 setmethod(getattr(args[0], e))

5823 else:

5824 setmethod(getattr(args[0], e), load=load)

5825

5826 def _path(self):

5827 if hasattr(self, "_parent"):

5828 return self._parent._path()+[self._yang_name]

5829 else:

5830 return ['vnfd', 'virtual-compute-desc', 'virtual-memory', 'numa-node-policy', 'node', 'vcpu']

5831

5832 def _get_id(self):

5833 """

5834 Getter method for id, mapped from YANG variable /vnfd/virtual_compute_desc/virtual_memory/numa_node_policy/node/vcpu/id (uint64)

5835

5836 YANG Description: List of VCPUs ids to allocate on

5837 this NUMA node

5838 """

5839 return self.__id

5840

5841 def _set_id(self, v, load=False):

5842 """

5843 Setter method for id, mapped from YANG variable /vnfd/virtual_compute_desc/virtual_memory/numa_node_policy/node/vcpu/id (uint64)

5844 If this variable is read-only (config: false) in the

5845 source YANG file, then _set_id is considered as a private

5846 method. Backends looking to populate this variable should

5847 do so via calling thisObj._set_id() directly.

5848

5849 YANG Description: List of VCPUs ids to allocate on

5850 this NUMA node

5851 """

5852 parent = getattr(self, "_parent", None)

5853 if parent is not None and load is False:

5854 raise AttributeError("Cannot set keys directly when" +

5855 " within an instantiated list")

5856

5857 if hasattr(v, "_utype"):

5858 v = v._utype(v)

5859 try:

5860 t = YANGDynClass(v,base=RestrictedClassType(base_type=long, restriction_dict={'range': ['0..18446744073709551615']}, int_size=64), is_leaf=True, yang_name="id", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, is_keyval=True, namespace='urn:etsi:osm:yang:augments:epa', defining_module='epa', yang_type='uint64', is_config=True)

5861 except (TypeError, ValueError):

5862 raise ValueError({

5863 'error-string': """id must be of a type compatible with uint64""",

5864 'defined-type': "uint64",

5865 'generated-type': """YANGDynClass(base=RestrictedClassType(base_type=long, restriction_dict={'range': ['0..18446744073709551615']}, int_size=64), is_leaf=True, yang_name="id", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, is_keyval=True, namespace='urn:etsi:osm:yang:augments:epa', defining_module='epa', yang_type='uint64', is_config=True)""",

5866 })

5867

5868 self.__id = t

5869 if hasattr(self, '_set'):

5870 self._set()

5871

5872 def _unset_id(self):

5873 self.__id = YANGDynClass(base=RestrictedClassType(base_type=long, restriction_dict={'range': ['0..18446744073709551615']}, int_size=64), is_leaf=True, yang_name="id", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, is_keyval=True, namespace='urn:etsi:osm:yang:augments:epa', defining_module='epa', yang_type='uint64', is_config=True)

5874

5875 id = __builtin__.property(_get_id, _set_id)

5876

5877

5878 _pyangbind_elements = OrderedDict([('id', id), ])

5879

5880

5881 class yc_paired_thread_ids_etsi_nfv_vnfd__vnfd_virtual_compute_desc_virtual_memory_numa_node_policy_node_paired_threads_paired_thread_ids(PybindBase):

5882 """

5883 This class was auto-generated by the PythonClass plugin for PYANG

5884 from YANG module etsi-nfv-vnfd - based on the path /vnfd/virtual-compute-desc/virtual-memory/numa-node-policy/node/paired-threads/paired-thread-ids. Each member element of

5885 the container is represented as a class variable - with a specific

5886 YANG type.

5887

5888 YANG Description: List of thread pairs to use in case of paired-thread NUMA

5889 """

5890 __slots__ = ('_path_helper', '_extmethods', '__thread_a','__thread_b',)

5891

5892 _yang_name = 'paired-thread-ids'

5893 _yang_namespace = 'urn:etsi:nfv:yang:etsi-nfv-vnfd'

5894

5895 _pybind_generated_by = 'container'

5896

5897 def __init__(self, *args, **kwargs):

5898

5899 self._path_helper = False

5900

5901 self._extmethods = False

5902 self.__thread_a = YANGDynClass(base=RestrictedClassType(base_type=int, restriction_dict={'range': ['0..255']}, int_size=8), is_leaf=True, yang_name="thread-a", parent=self, choice=('om-numa-type', 'paired-threads'), path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, is_keyval=True, namespace='urn:etsi:osm:yang:augments:epa', defining_module='epa', yang_type='uint8', is_config=True)

5903 self.__thread_b = YANGDynClass(base=RestrictedClassType(base_type=int, restriction_dict={'range': ['0..255']}, int_size=8), is_leaf=True, yang_name="thread-b", parent=self, choice=('om-numa-type', 'paired-threads'), path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='urn:etsi:osm:yang:augments:epa', defining_module='epa', yang_type='uint8', is_config=True)

5904

5905 load = kwargs.pop("load", None)

5906 if args:

5907 if len(args) > 1:

5908 raise TypeError("cannot create a YANG container with >1 argument")

5909 all_attr = True

5910 for e in self._pyangbind_elements:

5911 if not hasattr(args[0], e):

5912 all_attr = False

5913 break

5914 if not all_attr:

5915 raise ValueError("Supplied object did not have the correct attributes")

5916 for e in self._pyangbind_elements:

5917 nobj = getattr(args[0], e)

5918 if nobj._changed() is False:

5919 continue

5920 setmethod = getattr(self, "_set_%s" % e)

5921 if load is None:

5922 setmethod(getattr(args[0], e))

5923 else:

5924 setmethod(getattr(args[0], e), load=load)

5925

5926 def _path(self):

5927 if hasattr(self, "_parent"):

5928 return self._parent._path()+[self._yang_name]

5929 else:

5930 return ['vnfd', 'virtual-compute-desc', 'virtual-memory', 'numa-node-policy', 'node', 'paired-threads', 'paired-thread-ids']

5931

5932 def _get_thread_a(self):

5933 """

5934 Getter method for thread_a, mapped from YANG variable /vnfd/virtual_compute_desc/virtual_memory/numa_node_policy/node/paired_threads/paired_thread_ids/thread_a (uint8)

5935 """

5936 return self.__thread_a

5937

5938 def _set_thread_a(self, v, load=False):

5939 """

5940 Setter method for thread_a, mapped from YANG variable /vnfd/virtual_compute_desc/virtual_memory/numa_node_policy/node/paired_threads/paired_thread_ids/thread_a (uint8)

5941 If this variable is read-only (config: false) in the

5942 source YANG file, then _set_thread_a is considered as a private

5943 method. Backends looking to populate this variable should

5944 do so via calling thisObj._set_thread_a() directly.

5945 """

5946 parent = getattr(self, "_parent", None)

5947 if parent is not None and load is False:

5948 raise AttributeError("Cannot set keys directly when" +

5949 " within an instantiated list")

5950

5951 if hasattr(v, "_utype"):

5952 v = v._utype(v)

5953 try:

5954 t = YANGDynClass(v,base=RestrictedClassType(base_type=int, restriction_dict={'range': ['0..255']}, int_size=8), is_leaf=True, yang_name="thread-a", parent=self, choice=('om-numa-type', 'paired-threads'), path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, is_keyval=True, namespace='urn:etsi:osm:yang:augments:epa', defining_module='epa', yang_type='uint8', is_config=True)

5955 except (TypeError, ValueError):

5956 raise ValueError({

5957 'error-string': """thread_a must be of a type compatible with uint8""",

5958 'defined-type': "uint8",

5959 'generated-type': """YANGDynClass(base=RestrictedClassType(base_type=int, restriction_dict={'range': ['0..255']}, int_size=8), is_leaf=True, yang_name="thread-a", parent=self, choice=('om-numa-type', 'paired-threads'), path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, is_keyval=True, namespace='urn:etsi:osm:yang:augments:epa', defining_module='epa', yang_type='uint8', is_config=True)""",

5960 })

5961

5962 self.__thread_a = t

5963 if hasattr(self, '_set'):

5964 self._set()

5965

5966 def _unset_thread_a(self):

5967 self.__thread_a = YANGDynClass(base=RestrictedClassType(base_type=int, restriction_dict={'range': ['0..255']}, int_size=8), is_leaf=True, yang_name="thread-a", parent=self, choice=('om-numa-type', 'paired-threads'), path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, is_keyval=True, namespace='urn:etsi:osm:yang:augments:epa', defining_module='epa', yang_type='uint8', is_config=True)

5968

5969

5970 def _get_thread_b(self):

5971 """

5972 Getter method for thread_b, mapped from YANG variable /vnfd/virtual_compute_desc/virtual_memory/numa_node_policy/node/paired_threads/paired_thread_ids/thread_b (uint8)

5973 """

5974 return self.__thread_b

5975

5976 def _set_thread_b(self, v, load=False):

5977 """

5978 Setter method for thread_b, mapped from YANG variable /vnfd/virtual_compute_desc/virtual_memory/numa_node_policy/node/paired_threads/paired_thread_ids/thread_b (uint8)

5979 If this variable is read-only (config: false) in the

5980 source YANG file, then _set_thread_b is considered as a private

5981 method. Backends looking to populate this variable should

5982 do so via calling thisObj._set_thread_b() directly.

5983 """

5984 if hasattr(v, "_utype"):

5985 v = v._utype(v)

5986 try:

5987 t = YANGDynClass(v,base=RestrictedClassType(base_type=int, restriction_dict={'range': ['0..255']}, int_size=8), is_leaf=True, yang_name="thread-b", parent=self, choice=('om-numa-type', 'paired-threads'), path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='urn:etsi:osm:yang:augments:epa', defining_module='epa', yang_type='uint8', is_config=True)

5988 except (TypeError, ValueError):

5989 raise ValueError({

5990 'error-string': """thread_b must be of a type compatible with uint8""",

5991 'defined-type': "uint8",

5992 'generated-type': """YANGDynClass(base=RestrictedClassType(base_type=int, restriction_dict={'range': ['0..255']}, int_size=8), is_leaf=True, yang_name="thread-b", parent=self, choice=('om-numa-type', 'paired-threads'), path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='urn:etsi:osm:yang:augments:epa', defining_module='epa', yang_type='uint8', is_config=True)""",

5993 })

5994

5995 self.__thread_b = t

5996 if hasattr(self, '_set'):

5997 self._set()

5998

5999 def _unset_thread_b(self):

6000 self.__thread_b = YANGDynClass(base=RestrictedClassType(base_type=int, restriction_dict={'range': ['0..255']}, int_size=8), is_leaf=True, yang_name="thread-b", parent=self, choice=('om-numa-type', 'paired-threads'), path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='urn:etsi:osm:yang:augments:epa', defining_module='epa', yang_type='uint8', is_config=True)

6001

6002 thread_a = __builtin__.property(_get_thread_a, _set_thread_a)

6003 thread_b = __builtin__.property(_get_thread_b, _set_thread_b)

6004

6005 __choices__ = {'om-numa-type': {'paired-threads': ['thread_a', 'thread_b']}}

6006 _pyangbind_elements = OrderedDict([('thread_a', thread_a), ('thread_b', thread_b), ])

6007

6008

6009 class yc_paired_threads_etsi_nfv_vnfd__vnfd_virtual_compute_desc_virtual_memory_numa_node_policy_node_paired_threads(PybindBase):

6010 """

6011 This class was auto-generated by the PythonClass plugin for PYANG

6012 from YANG module etsi-nfv-vnfd - based on the path /vnfd/virtual-compute-desc/virtual-memory/numa-node-policy/node/paired-threads. Each member element of

6013 the container is represented as a class variable - with a specific

6014 YANG type.

6015 """

6016 __slots__ = ('_path_helper', '_extmethods', '__num_paired_threads','__paired_thread_ids',)

6017

6018 _yang_name = 'paired-threads'

6019 _yang_namespace = 'urn:etsi:nfv:yang:etsi-nfv-vnfd'

6020

6021 _pybind_generated_by = 'container'

6022

6023 def __init__(self, *args, **kwargs):

6024

6025 self._path_helper = False

6026

6027 self._extmethods = False

6028 self.__num_paired_threads = YANGDynClass(base=RestrictedClassType(base_type=int, restriction_dict={'range': ['0..255']}, int_size=8), is_leaf=True, yang_name="num-paired-threads", parent=self, choice=('om-numa-type', 'paired-threads'), path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='urn:etsi:osm:yang:augments:epa', defining_module='epa', yang_type='uint8', is_config=True)

6029 self.__paired_thread_ids = YANGDynClass(base=YANGListType("thread_a",yc_paired_thread_ids_etsi_nfv_vnfd__vnfd_virtual_compute_desc_virtual_memory_numa_node_policy_node_paired_threads_paired_thread_ids, yang_name="paired-thread-ids", parent=self, is_container='list', user_ordered=False, path_helper=self._path_helper, yang_keys='thread-a', extensions=None, choice=('om-numa-type', 'paired-threads')), is_container='list', yang_name="paired-thread-ids", parent=self, choice=('om-numa-type', 'paired-threads'), path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, extensions=None, namespace='urn:etsi:osm:yang:augments:epa', defining_module='epa', yang_type='list', is_config=True)

6030

6031 load = kwargs.pop("load", None)

6032 if args:

6033 if len(args) > 1:

6034 raise TypeError("cannot create a YANG container with >1 argument")

6035 all_attr = True

6036 for e in self._pyangbind_elements:

6037 if not hasattr(args[0], e):

6038 all_attr = False

6039 break

6040 if not all_attr:

6041 raise ValueError("Supplied object did not have the correct attributes")

6042 for e in self._pyangbind_elements:

6043 nobj = getattr(args[0], e)

6044 if nobj._changed() is False:

6045 continue

6046 setmethod = getattr(self, "_set_%s" % e)

6047 if load is None:

6048 setmethod(getattr(args[0], e))

6049 else:

6050 setmethod(getattr(args[0], e), load=load)

6051

6052 def _path(self):

6053 if hasattr(self, "_parent"):

6054 return self._parent._path()+[self._yang_name]

6055 else:

6056 return ['vnfd', 'virtual-compute-desc', 'virtual-memory', 'numa-node-policy', 'node', 'paired-threads']

6057

6058 def _get_num_paired_threads(self):

6059 """

6060 Getter method for num_paired_threads, mapped from YANG variable /vnfd/virtual_compute_desc/virtual_memory/numa_node_policy/node/paired_threads/num_paired_threads (uint8)

6061 """

6062 return self.__num_paired_threads

6063

6064 def _set_num_paired_threads(self, v, load=False):

6065 """

6066 Setter method for num_paired_threads, mapped from YANG variable /vnfd/virtual_compute_desc/virtual_memory/numa_node_policy/node/paired_threads/num_paired_threads (uint8)

6067 If this variable is read-only (config: false) in the

6068 source YANG file, then _set_num_paired_threads is considered as a private

6069 method. Backends looking to populate this variable should

6070 do so via calling thisObj._set_num_paired_threads() directly.

6071 """

6072 if hasattr(v, "_utype"):

6073 v = v._utype(v)

6074 try:

6075 t = YANGDynClass(v,base=RestrictedClassType(base_type=int, restriction_dict={'range': ['0..255']}, int_size=8), is_leaf=True, yang_name="num-paired-threads", parent=self, choice=('om-numa-type', 'paired-threads'), path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='urn:etsi:osm:yang:augments:epa', defining_module='epa', yang_type='uint8', is_config=True)

6076 except (TypeError, ValueError):

6077 raise ValueError({

6078 'error-string': """num_paired_threads must be of a type compatible with uint8""",

6079 'defined-type': "uint8",

6080 'generated-type': """YANGDynClass(base=RestrictedClassType(base_type=int, restriction_dict={'range': ['0..255']}, int_size=8), is_leaf=True, yang_name="num-paired-threads", parent=self, choice=('om-numa-type', 'paired-threads'), path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='urn:etsi:osm:yang:augments:epa', defining_module='epa', yang_type='uint8', is_config=True)""",

6081 })

6082

6083 self.__num_paired_threads = t

6084 if hasattr(self, '_set'):

6085 self._set()

6086

6087 def _unset_num_paired_threads(self):

6088 self.__num_paired_threads = YANGDynClass(base=RestrictedClassType(base_type=int, restriction_dict={'range': ['0..255']}, int_size=8), is_leaf=True, yang_name="num-paired-threads", parent=self, choice=('om-numa-type', 'paired-threads'), path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='urn:etsi:osm:yang:augments:epa', defining_module='epa', yang_type='uint8', is_config=True)

6089

6090

6091 def _get_paired_thread_ids(self):

6092 """

6093 Getter method for paired_thread_ids, mapped from YANG variable /vnfd/virtual_compute_desc/virtual_memory/numa_node_policy/node/paired_threads/paired_thread_ids (list)

6094

6095 YANG Description: List of thread pairs to use in case of paired-thread NUMA

6096 """

6097 return self.__paired_thread_ids

6098

6099 def _set_paired_thread_ids(self, v, load=False):

6100 """

6101 Setter method for paired_thread_ids, mapped from YANG variable /vnfd/virtual_compute_desc/virtual_memory/numa_node_policy/node/paired_threads/paired_thread_ids (list)

6102 If this variable is read-only (config: false) in the

6103 source YANG file, then _set_paired_thread_ids is considered as a private

6104 method. Backends looking to populate this variable should

6105 do so via calling thisObj._set_paired_thread_ids() directly.

6106

6107 YANG Description: List of thread pairs to use in case of paired-thread NUMA

6108 """

6109 if hasattr(v, "_utype"):

6110 v = v._utype(v)

6111 try:

6112 t = YANGDynClass(v,base=YANGListType("thread_a",yc_paired_thread_ids_etsi_nfv_vnfd__vnfd_virtual_compute_desc_virtual_memory_numa_node_policy_node_paired_threads_paired_thread_ids, yang_name="paired-thread-ids", parent=self, is_container='list', user_ordered=False, path_helper=self._path_helper, yang_keys='thread-a', extensions=None, choice=('om-numa-type', 'paired-threads')), is_container='list', yang_name="paired-thread-ids", parent=self, choice=('om-numa-type', 'paired-threads'), path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, extensions=None, namespace='urn:etsi:osm:yang:augments:epa', defining_module='epa', yang_type='list', is_config=True)

6113 except (TypeError, ValueError):

6114 raise ValueError({

6115 'error-string': """paired_thread_ids must be of a type compatible with list""",

6116 'defined-type': "list",

6117 'generated-type': """YANGDynClass(base=YANGListType("thread_a",yc_paired_thread_ids_etsi_nfv_vnfd__vnfd_virtual_compute_desc_virtual_memory_numa_node_policy_node_paired_threads_paired_thread_ids, yang_name="paired-thread-ids", parent=self, is_container='list', user_ordered=False, path_helper=self._path_helper, yang_keys='thread-a', extensions=None, choice=('om-numa-type', 'paired-threads')), is_container='list', yang_name="paired-thread-ids", parent=self, choice=('om-numa-type', 'paired-threads'), path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, extensions=None, namespace='urn:etsi:osm:yang:augments:epa', defining_module='epa', yang_type='list', is_config=True)""",

6118 })

6119

6120 self.__paired_thread_ids = t

6121 if hasattr(self, '_set'):

6122 self._set()

6123

6124 def _unset_paired_thread_ids(self):

6125 self.__paired_thread_ids = YANGDynClass(base=YANGListType("thread_a",yc_paired_thread_ids_etsi_nfv_vnfd__vnfd_virtual_compute_desc_virtual_memory_numa_node_policy_node_paired_threads_paired_thread_ids, yang_name="paired-thread-ids", parent=self, is_container='list', user_ordered=False, path_helper=self._path_helper, yang_keys='thread-a', extensions=None, choice=('om-numa-type', 'paired-threads')), is_container='list', yang_name="paired-thread-ids", parent=self, choice=('om-numa-type', 'paired-threads'), path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, extensions=None, namespace='urn:etsi:osm:yang:augments:epa', defining_module='epa', yang_type='list', is_config=True)

6126

6127 num_paired_threads = __builtin__.property(_get_num_paired_threads, _set_num_paired_threads)

6128 paired_thread_ids = __builtin__.property(_get_paired_thread_ids, _set_paired_thread_ids)

6129

6130 __choices__ = {'om-numa-type': {'paired-threads': ['num_paired_threads', 'paired_thread_ids']}}

6131 _pyangbind_elements = OrderedDict([('num_paired_threads', num_paired_threads), ('paired_thread_ids', paired_thread_ids), ])

6132

6133

6134 class yc_node_etsi_nfv_vnfd__vnfd_virtual_compute_desc_virtual_memory_numa_node_policy_node(PybindBase):

6135 """

6136 This class was auto-generated by the PythonClass plugin for PYANG

6137 from YANG module etsi-nfv-vnfd - based on the path /vnfd/virtual-compute-desc/virtual-memory/numa-node-policy/node. Each member element of

6138 the container is represented as a class variable - with a specific

6139 YANG type.

6140 """

6141 __slots__ = ('_path_helper', '_extmethods', '__id','__vcpu','__memory_mb','__num_cores','__paired_threads','__num_threads',)

6142

6143 _yang_name = 'node'

6144 _yang_namespace = 'urn:etsi:nfv:yang:etsi-nfv-vnfd'

6145

6146 _pybind_generated_by = 'container'

6147

6148 def __init__(self, *args, **kwargs):

6149

6150 self._path_helper = False

6151

6152 self._extmethods = False

6153 self.__id = YANGDynClass(base=RestrictedClassType(base_type=long, restriction_dict={'range': ['0..18446744073709551615']}, int_size=64), is_leaf=True, yang_name="id", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, is_keyval=True, namespace='urn:etsi:osm:yang:augments:epa', defining_module='epa', yang_type='uint64', is_config=True)

6154 self.__vcpu = YANGDynClass(base=YANGListType("id",yc_vcpu_etsi_nfv_vnfd__vnfd_virtual_compute_desc_virtual_memory_numa_node_policy_node_vcpu, yang_name="vcpu", parent=self, is_container='list', user_ordered=False, path_helper=self._path_helper, yang_keys='id', extensions=None), is_container='list', yang_name="vcpu", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, extensions=None, namespace='urn:etsi:osm:yang:augments:epa', defining_module='epa', yang_type='list', is_config=True)

6155 self.__memory_mb = YANGDynClass(base=RestrictedClassType(base_type=long, restriction_dict={'range': ['0..18446744073709551615']}, int_size=64), is_leaf=True, yang_name="memory-mb", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='urn:etsi:osm:yang:augments:epa', defining_module='epa', yang_type='uint64', is_config=True)

6156 self.__num_cores = YANGDynClass(base=RestrictedClassType(base_type=int, restriction_dict={'range': ['0..255']}, int_size=8), is_leaf=True, yang_name="num-cores", parent=self, choice=('om-numa-type', 'cores'), path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='urn:etsi:osm:yang:augments:epa', defining_module='epa', yang_type='uint8', is_config=True)

6157 self.__paired_threads = YANGDynClass(base=yc_paired_threads_etsi_nfv_vnfd__vnfd_virtual_compute_desc_virtual_memory_numa_node_policy_node_paired_threads, is_container='container', yang_name="paired-threads", parent=self, choice=('om-numa-type', 'paired-threads'), path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, extensions=None, namespace='urn:etsi:osm:yang:augments:epa', defining_module='epa', yang_type='container', is_config=True)

6158 self.__num_threads = YANGDynClass(base=RestrictedClassType(base_type=int, restriction_dict={'range': ['0..255']}, int_size=8), is_leaf=True, yang_name="num-threads", parent=self, choice=('om-numa-type', 'threads'), path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='urn:etsi:osm:yang:augments:epa', defining_module='epa', yang_type='uint8', is_config=True)

6159

6160 load = kwargs.pop("load", None)

6161 if args:

6162 if len(args) > 1:

6163 raise TypeError("cannot create a YANG container with >1 argument")

6164 all_attr = True

6165 for e in self._pyangbind_elements:

6166 if not hasattr(args[0], e):

6167 all_attr = False

6168 break

6169 if not all_attr:

6170 raise ValueError("Supplied object did not have the correct attributes")

6171 for e in self._pyangbind_elements:

6172 nobj = getattr(args[0], e)

6173 if nobj._changed() is False:

6174 continue

6175 setmethod = getattr(self, "_set_%s" % e)

6176 if load is None:

6177 setmethod(getattr(args[0], e))

6178 else:

6179 setmethod(getattr(args[0], e), load=load)

6180

6181 def _path(self):

6182 if hasattr(self, "_parent"):

6183 return self._parent._path()+[self._yang_name]

6184 else:

6185 return ['vnfd', 'virtual-compute-desc', 'virtual-memory', 'numa-node-policy', 'node']

6186

6187 def _get_id(self):

6188 """

6189 Getter method for id, mapped from YANG variable /vnfd/virtual_compute_desc/virtual_memory/numa_node_policy/node/id (uint64)

6190

6191 YANG Description: NUMA node identification. Typically

6192 it's 0 or 1

6193 """

6194 return self.__id

6195

6196 def _set_id(self, v, load=False):

6197 """

6198 Setter method for id, mapped from YANG variable /vnfd/virtual_compute_desc/virtual_memory/numa_node_policy/node/id (uint64)

6199 If this variable is read-only (config: false) in the

6200 source YANG file, then _set_id is considered as a private

6201 method. Backends looking to populate this variable should

6202 do so via calling thisObj._set_id() directly.

6203

6204 YANG Description: NUMA node identification. Typically

6205 it's 0 or 1

6206 """

6207 parent = getattr(self, "_parent", None)

6208 if parent is not None and load is False:

6209 raise AttributeError("Cannot set keys directly when" +

6210 " within an instantiated list")

6211

6212 if hasattr(v, "_utype"):

6213 v = v._utype(v)

6214 try:

6215 t = YANGDynClass(v,base=RestrictedClassType(base_type=long, restriction_dict={'range': ['0..18446744073709551615']}, int_size=64), is_leaf=True, yang_name="id", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, is_keyval=True, namespace='urn:etsi:osm:yang:augments:epa', defining_module='epa', yang_type='uint64', is_config=True)

6216 except (TypeError, ValueError):

6217 raise ValueError({

6218 'error-string': """id must be of a type compatible with uint64""",

6219 'defined-type': "uint64",

6220 'generated-type': """YANGDynClass(base=RestrictedClassType(base_type=long, restriction_dict={'range': ['0..18446744073709551615']}, int_size=64), is_leaf=True, yang_name="id", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, is_keyval=True, namespace='urn:etsi:osm:yang:augments:epa', defining_module='epa', yang_type='uint64', is_config=True)""",

6221 })

6222

6223 self.__id = t

6224 if hasattr(self, '_set'):

6225 self._set()

6226

6227 def _unset_id(self):

6228 self.__id = YANGDynClass(base=RestrictedClassType(base_type=long, restriction_dict={'range': ['0..18446744073709551615']}, int_size=64), is_leaf=True, yang_name="id", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, is_keyval=True, namespace='urn:etsi:osm:yang:augments:epa', defining_module='epa', yang_type='uint64', is_config=True)

6229

6230

6231 def _get_vcpu(self):

6232 """

6233 Getter method for vcpu, mapped from YANG variable /vnfd/virtual_compute_desc/virtual_memory/numa_node_policy/node/vcpu (list)

6234

6235 YANG Description: List of VCPUs to allocate on

6236 this NUMA node.

6237 """

6238 return self.__vcpu

6239

6240 def _set_vcpu(self, v, load=False):

6241 """

6242 Setter method for vcpu, mapped from YANG variable /vnfd/virtual_compute_desc/virtual_memory/numa_node_policy/node/vcpu (list)

6243 If this variable is read-only (config: false) in the

6244 source YANG file, then _set_vcpu is considered as a private

6245 method. Backends looking to populate this variable should

6246 do so via calling thisObj._set_vcpu() directly.

6247

6248 YANG Description: List of VCPUs to allocate on

6249 this NUMA node.

6250 """

6251 if hasattr(v, "_utype"):

6252 v = v._utype(v)

6253 try:

6254 t = YANGDynClass(v,base=YANGListType("id",yc_vcpu_etsi_nfv_vnfd__vnfd_virtual_compute_desc_virtual_memory_numa_node_policy_node_vcpu, yang_name="vcpu", parent=self, is_container='list', user_ordered=False, path_helper=self._path_helper, yang_keys='id', extensions=None), is_container='list', yang_name="vcpu", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, extensions=None, namespace='urn:etsi:osm:yang:augments:epa', defining_module='epa', yang_type='list', is_config=True)

6255 except (TypeError, ValueError):

6256 raise ValueError({

6257 'error-string': """vcpu must be of a type compatible with list""",

6258 'defined-type': "list",

6259 'generated-type': """YANGDynClass(base=YANGListType("id",yc_vcpu_etsi_nfv_vnfd__vnfd_virtual_compute_desc_virtual_memory_numa_node_policy_node_vcpu, yang_name="vcpu", parent=self, is_container='list', user_ordered=False, path_helper=self._path_helper, yang_keys='id', extensions=None), is_container='list', yang_name="vcpu", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, extensions=None, namespace='urn:etsi:osm:yang:augments:epa', defining_module='epa', yang_type='list', is_config=True)""",

6260 })

6261

6262 self.__vcpu = t

6263 if hasattr(self, '_set'):

6264 self._set()

6265

6266 def _unset_vcpu(self):

6267 self.__vcpu = YANGDynClass(base=YANGListType("id",yc_vcpu_etsi_nfv_vnfd__vnfd_virtual_compute_desc_virtual_memory_numa_node_policy_node_vcpu, yang_name="vcpu", parent=self, is_container='list', user_ordered=False, path_helper=self._path_helper, yang_keys='id', extensions=None), is_container='list', yang_name="vcpu", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, extensions=None, namespace='urn:etsi:osm:yang:augments:epa', defining_module='epa', yang_type='list', is_config=True)

6268

6269

6270 def _get_memory_mb(self):

6271 """

6272 Getter method for memory_mb, mapped from YANG variable /vnfd/virtual_compute_desc/virtual_memory/numa_node_policy/node/memory_mb (uint64)

6273

6274 YANG Description: Memory size expressed in MB

6275 for this NUMA node.

6276 """

6277 return self.__memory_mb

6278

6279 def _set_memory_mb(self, v, load=False):

6280 """

6281 Setter method for memory_mb, mapped from YANG variable /vnfd/virtual_compute_desc/virtual_memory/numa_node_policy/node/memory_mb (uint64)

6282 If this variable is read-only (config: false) in the

6283 source YANG file, then _set_memory_mb is considered as a private

6284 method. Backends looking to populate this variable should

6285 do so via calling thisObj._set_memory_mb() directly.

6286

6287 YANG Description: Memory size expressed in MB

6288 for this NUMA node.

6289 """

6290 if hasattr(v, "_utype"):

6291 v = v._utype(v)

6292 try:

6293 t = YANGDynClass(v,base=RestrictedClassType(base_type=long, restriction_dict={'range': ['0..18446744073709551615']}, int_size=64), is_leaf=True, yang_name="memory-mb", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='urn:etsi:osm:yang:augments:epa', defining_module='epa', yang_type='uint64', is_config=True)

6294 except (TypeError, ValueError):

6295 raise ValueError({

6296 'error-string': """memory_mb must be of a type compatible with uint64""",

6297 'defined-type': "uint64",

6298 'generated-type': """YANGDynClass(base=RestrictedClassType(base_type=long, restriction_dict={'range': ['0..18446744073709551615']}, int_size=64), is_leaf=True, yang_name="memory-mb", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='urn:etsi:osm:yang:augments:epa', defining_module='epa', yang_type='uint64', is_config=True)""",

6299 })

6300

6301 self.__memory_mb = t

6302 if hasattr(self, '_set'):

6303 self._set()

6304

6305 def _unset_memory_mb(self):

6306 self.__memory_mb = YANGDynClass(base=RestrictedClassType(base_type=long, restriction_dict={'range': ['0..18446744073709551615']}, int_size=64), is_leaf=True, yang_name="memory-mb", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='urn:etsi:osm:yang:augments:epa', defining_module='epa', yang_type='uint64', is_config=True)

6307

6308

6309 def _get_num_cores(self):

6310 """

6311 Getter method for num_cores, mapped from YANG variable /vnfd/virtual_compute_desc/virtual_memory/numa_node_policy/node/num_cores (uint8)

6312 """

6313 return self.__num_cores

6314

6315 def _set_num_cores(self, v, load=False):

6316 """

6317 Setter method for num_cores, mapped from YANG variable /vnfd/virtual_compute_desc/virtual_memory/numa_node_policy/node/num_cores (uint8)

6318 If this variable is read-only (config: false) in the

6319 source YANG file, then _set_num_cores is considered as a private

6320 method. Backends looking to populate this variable should

6321 do so via calling thisObj._set_num_cores() directly.

6322 """

6323 if hasattr(v, "_utype"):

6324 v = v._utype(v)

6325 try:

6326 t = YANGDynClass(v,base=RestrictedClassType(base_type=int, restriction_dict={'range': ['0..255']}, int_size=8), is_leaf=True, yang_name="num-cores", parent=self, choice=('om-numa-type', 'cores'), path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='urn:etsi:osm:yang:augments:epa', defining_module='epa', yang_type='uint8', is_config=True)

6327 except (TypeError, ValueError):

6328 raise ValueError({

6329 'error-string': """num_cores must be of a type compatible with uint8""",

6330 'defined-type': "uint8",

6331 'generated-type': """YANGDynClass(base=RestrictedClassType(base_type=int, restriction_dict={'range': ['0..255']}, int_size=8), is_leaf=True, yang_name="num-cores", parent=self, choice=('om-numa-type', 'cores'), path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='urn:etsi:osm:yang:augments:epa', defining_module='epa', yang_type='uint8', is_config=True)""",

6332 })

6333

6334 self.__num_cores = t

6335 if hasattr(self, '_set'):

6336 self._set()

6337

6338 def _unset_num_cores(self):

6339 self.__num_cores = YANGDynClass(base=RestrictedClassType(base_type=int, restriction_dict={'range': ['0..255']}, int_size=8), is_leaf=True, yang_name="num-cores", parent=self, choice=('om-numa-type', 'cores'), path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='urn:etsi:osm:yang:augments:epa', defining_module='epa', yang_type='uint8', is_config=True)

6340

6341

6342 def _get_paired_threads(self):

6343 """

6344 Getter method for paired_threads, mapped from YANG variable /vnfd/virtual_compute_desc/virtual_memory/numa_node_policy/node/paired_threads (container)

6345 """

6346 return self.__paired_threads

6347

6348 def _set_paired_threads(self, v, load=False):

6349 """

6350 Setter method for paired_threads, mapped from YANG variable /vnfd/virtual_compute_desc/virtual_memory/numa_node_policy/node/paired_threads (container)

6351 If this variable is read-only (config: false) in the

6352 source YANG file, then _set_paired_threads is considered as a private

6353 method. Backends looking to populate this variable should

6354 do so via calling thisObj._set_paired_threads() directly.

6355 """

6356 if hasattr(v, "_utype"):

6357 v = v._utype(v)

6358 try:

6359 t = YANGDynClass(v,base=yc_paired_threads_etsi_nfv_vnfd__vnfd_virtual_compute_desc_virtual_memory_numa_node_policy_node_paired_threads, is_container='container', yang_name="paired-threads", parent=self, choice=('om-numa-type', 'paired-threads'), path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, extensions=None, namespace='urn:etsi:osm:yang:augments:epa', defining_module='epa', yang_type='container', is_config=True)

6360 except (TypeError, ValueError):

6361 raise ValueError({

6362 'error-string': """paired_threads must be of a type compatible with container""",

6363 'defined-type': "container",

6364 'generated-type': """YANGDynClass(base=yc_paired_threads_etsi_nfv_vnfd__vnfd_virtual_compute_desc_virtual_memory_numa_node_policy_node_paired_threads, is_container='container', yang_name="paired-threads", parent=self, choice=('om-numa-type', 'paired-threads'), path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, extensions=None, namespace='urn:etsi:osm:yang:augments:epa', defining_module='epa', yang_type='container', is_config=True)""",

6365 })

6366

6367 self.__paired_threads = t

6368 if hasattr(self, '_set'):

6369 self._set()

6370

6371 def _unset_paired_threads(self):

6372 self.__paired_threads = YANGDynClass(base=yc_paired_threads_etsi_nfv_vnfd__vnfd_virtual_compute_desc_virtual_memory_numa_node_policy_node_paired_threads, is_container='container', yang_name="paired-threads", parent=self, choice=('om-numa-type', 'paired-threads'), path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, extensions=None, namespace='urn:etsi:osm:yang:augments:epa', defining_module='epa', yang_type='container', is_config=True)

6373

6374

6375 def _get_num_threads(self):

6376 """

6377 Getter method for num_threads, mapped from YANG variable /vnfd/virtual_compute_desc/virtual_memory/numa_node_policy/node/num_threads (uint8)

6378 """

6379 return self.__num_threads

6380

6381 def _set_num_threads(self, v, load=False):

6382 """

6383 Setter method for num_threads, mapped from YANG variable /vnfd/virtual_compute_desc/virtual_memory/numa_node_policy/node/num_threads (uint8)

6384 If this variable is read-only (config: false) in the

6385 source YANG file, then _set_num_threads is considered as a private

6386 method. Backends looking to populate this variable should

6387 do so via calling thisObj._set_num_threads() directly.

6388 """

6389 if hasattr(v, "_utype"):

6390 v = v._utype(v)

6391 try:

6392 t = YANGDynClass(v,base=RestrictedClassType(base_type=int, restriction_dict={'range': ['0..255']}, int_size=8), is_leaf=True, yang_name="num-threads", parent=self, choice=('om-numa-type', 'threads'), path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='urn:etsi:osm:yang:augments:epa', defining_module='epa', yang_type='uint8', is_config=True)

6393 except (TypeError, ValueError):

6394 raise ValueError({

6395 'error-string': """num_threads must be of a type compatible with uint8""",

6396 'defined-type': "uint8",

6397 'generated-type': """YANGDynClass(base=RestrictedClassType(base_type=int, restriction_dict={'range': ['0..255']}, int_size=8), is_leaf=True, yang_name="num-threads", parent=self, choice=('om-numa-type', 'threads'), path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='urn:etsi:osm:yang:augments:epa', defining_module='epa', yang_type='uint8', is_config=True)""",

6398 })

6399

6400 self.__num_threads = t

6401 if hasattr(self, '_set'):

6402 self._set()

6403

6404 def _unset_num_threads(self):

6405 self.__num_threads = YANGDynClass(base=RestrictedClassType(base_type=int, restriction_dict={'range': ['0..255']}, int_size=8), is_leaf=True, yang_name="num-threads", parent=self, choice=('om-numa-type', 'threads'), path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='urn:etsi:osm:yang:augments:epa', defining_module='epa', yang_type='uint8', is_config=True)

6406

6407 id = __builtin__.property(_get_id, _set_id)

6408 vcpu = __builtin__.property(_get_vcpu, _set_vcpu)

6409 memory_mb = __builtin__.property(_get_memory_mb, _set_memory_mb)

6410 num_cores = __builtin__.property(_get_num_cores, _set_num_cores)

6411 paired_threads = __builtin__.property(_get_paired_threads, _set_paired_threads)

6412 num_threads = __builtin__.property(_get_num_threads, _set_num_threads)

6413

6414 __choices__ = {'om-numa-type': {'cores': ['num_cores'], 'paired-threads': ['paired_threads'], 'threads': ['num_threads']}}

6415 _pyangbind_elements = OrderedDict([('id', id), ('vcpu', vcpu), ('memory_mb', memory_mb), ('num_cores', num_cores), ('paired_threads', paired_threads), ('num_threads', num_threads), ])

6416

6417

6418 class yc_numa_node_policy_etsi_nfv_vnfd__vnfd_virtual_compute_desc_virtual_memory_numa_node_policy(PybindBase):

6419 """

6420 This class was auto-generated by the PythonClass plugin for PYANG

6421 from YANG module etsi-nfv-vnfd - based on the path /vnfd/virtual-compute-desc/virtual-memory/numa-node-policy. Each member element of

6422 the container is represented as a class variable - with a specific

6423 YANG type.

6424

6425 YANG Description: This policy defines NUMA topology of the

6426 guest. Specifically identifies if the guest

6427 should be run on a host with one NUMA

6428 node or multiple NUMA nodes. As an example

6429 a guest might need 8 VCPUs and 4 GB of

6430 memory. However, it might need the VCPUs

6431 and memory distributed across multiple

6432 NUMA nodes. In this scenario, NUMA node

6433 1 could run with 6 VCPUs and 3GB, and

6434 NUMA node 2 could run with 2 VCPUs and

6435 1GB.

6436 """

6437 __slots__ = ('_path_helper', '_extmethods', '__node_cnt','__mem_policy','__node',)

6438

6439 _yang_name = 'numa-node-policy'

6440 _yang_namespace = 'urn:etsi:nfv:yang:etsi-nfv-vnfd'

6441

6442 _pybind_generated_by = 'container'

6443

6444 def __init__(self, *args, **kwargs):

6445

6446 self._path_helper = False

6447

6448 self._extmethods = False

6449 self.__node_cnt = YANGDynClass(base=RestrictedClassType(base_type=int, restriction_dict={'range': ['0..65535']},int_size=16), is_leaf=True, yang_name="node-cnt", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='urn:etsi:osm:yang:augments:epa', defining_module='epa', yang_type='uint16', is_config=True)

6450 self.__mem_policy = YANGDynClass(base=RestrictedClassType(base_type=str, restriction_type="dict_key", restriction_arg={'STRICT': {}, 'PREFERRED': {}},), is_leaf=True, yang_name="mem-policy", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='urn:etsi:osm:yang:augments:epa', defining_module='epa', yang_type='enumeration', is_config=True)

6451 self.__node = YANGDynClass(base=YANGListType("id",yc_node_etsi_nfv_vnfd__vnfd_virtual_compute_desc_virtual_memory_numa_node_policy_node, yang_name="node", parent=self, is_container='list', user_ordered=False, path_helper=self._path_helper, yang_keys='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:etsi:osm:yang:augments:epa', defining_module='epa', yang_type='list', is_config=True)

6452

6453 load = kwargs.pop("load", None)

6454 if args:

6455 if len(args) > 1:

6456 raise TypeError("cannot create a YANG container with >1 argument")

6457 all_attr = True

6458 for e in self._pyangbind_elements:

6459 if not hasattr(args[0], e):

6460 all_attr = False

6461 break

6462 if not all_attr:

6463 raise ValueError("Supplied object did not have the correct attributes")

6464 for e in self._pyangbind_elements:

6465 nobj = getattr(args[0], e)

6466 if nobj._changed() is False:

6467 continue

6468 setmethod = getattr(self, "_set_%s" % e)

6469 if load is None:

6470 setmethod(getattr(args[0], e))

6471 else:

6472 setmethod(getattr(args[0], e), load=load)

6473

6474 def _path(self):

6475 if hasattr(self, "_parent"):

6476 return self._parent._path()+[self._yang_name]

6477 else:

6478 return ['vnfd', 'virtual-compute-desc', 'virtual-memory', 'numa-node-policy']

6479

6480 def _get_node_cnt(self):

6481 """

6482 Getter method for node_cnt, mapped from YANG variable /vnfd/virtual_compute_desc/virtual_memory/numa_node_policy/node_cnt (uint16)

6483

6484 YANG Description: The number of NUMA nodes to expose to the VM.

6485 """

6486 return self.__node_cnt

6487

6488 def _set_node_cnt(self, v, load=False):

6489 """

6490 Setter method for node_cnt, mapped from YANG variable /vnfd/virtual_compute_desc/virtual_memory/numa_node_policy/node_cnt (uint16)

6491 If this variable is read-only (config: false) in the

6492 source YANG file, then _set_node_cnt is considered as a private

6493 method. Backends looking to populate this variable should

6494 do so via calling thisObj._set_node_cnt() directly.

6495

6496 YANG Description: The number of NUMA nodes to expose to the VM.

6497 """

6498 if hasattr(v, "_utype"):

6499 v = v._utype(v)

6500 try:

6501 t = YANGDynClass(v,base=RestrictedClassType(base_type=int, restriction_dict={'range': ['0..65535']},int_size=16), is_leaf=True, yang_name="node-cnt", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='urn:etsi:osm:yang:augments:epa', defining_module='epa', yang_type='uint16', is_config=True)

6502 except (TypeError, ValueError):

6503 raise ValueError({

6504 'error-string': """node_cnt must be of a type compatible with uint16""",

6505 'defined-type': "uint16",

6506 'generated-type': """YANGDynClass(base=RestrictedClassType(base_type=int, restriction_dict={'range': ['0..65535']},int_size=16), is_leaf=True, yang_name="node-cnt", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='urn:etsi:osm:yang:augments:epa', defining_module='epa', yang_type='uint16', is_config=True)""",

6507 })

6508

6509 self.__node_cnt = t

6510 if hasattr(self, '_set'):

6511 self._set()

6512

6513 def _unset_node_cnt(self):

6514 self.__node_cnt = YANGDynClass(base=RestrictedClassType(base_type=int, restriction_dict={'range': ['0..65535']},int_size=16), is_leaf=True, yang_name="node-cnt", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='urn:etsi:osm:yang:augments:epa', defining_module='epa', yang_type='uint16', is_config=True)

6515

6516

6517 def _get_mem_policy(self):

6518 """

6519 Getter method for mem_policy, mapped from YANG variable /vnfd/virtual_compute_desc/virtual_memory/numa_node_policy/mem_policy (enumeration)

6520

6521 YANG Description: This policy specifies how the memory should

6522 be allocated in a multi-node scenario.

6523 STRICT : The memory must be allocated

6524 strictly from the memory attached

6525 to the NUMA node.

6526 PREFERRED : The memory should be allocated

6527 preferentially from the memory

6528 attached to the NUMA node

6529 """

6530 return self.__mem_policy

6531

6532 def _set_mem_policy(self, v, load=False):

6533 """

6534 Setter method for mem_policy, mapped from YANG variable /vnfd/virtual_compute_desc/virtual_memory/numa_node_policy/mem_policy (enumeration)

6535 If this variable is read-only (config: false) in the

6536 source YANG file, then _set_mem_policy is considered as a private

6537 method. Backends looking to populate this variable should

6538 do so via calling thisObj._set_mem_policy() directly.

6539

6540 YANG Description: This policy specifies how the memory should

6541 be allocated in a multi-node scenario.

6542 STRICT : The memory must be allocated

6543 strictly from the memory attached

6544 to the NUMA node.

6545 PREFERRED : The memory should be allocated

6546 preferentially from the memory

6547 attached to the NUMA node

6548 """

6549 if hasattr(v, "_utype"):

6550 v = v._utype(v)

6551 try:

6552 t = YANGDynClass(v,base=RestrictedClassType(base_type=str, restriction_type="dict_key", restriction_arg={'STRICT': {}, 'PREFERRED': {}},), is_leaf=True, yang_name="mem-policy", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='urn:etsi:osm:yang:augments:epa', defining_module='epa', yang_type='enumeration', is_config=True)

6553 except (TypeError, ValueError):

6554 raise ValueError({

6555 'error-string': """mem_policy must be of a type compatible with enumeration""",

6556 'defined-type': "epa:enumeration",

6557 'generated-type': """YANGDynClass(base=RestrictedClassType(base_type=str, restriction_type="dict_key", restriction_arg={'STRICT': {}, 'PREFERRED': {}},), is_leaf=True, yang_name="mem-policy", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='urn:etsi:osm:yang:augments:epa', defining_module='epa', yang_type='enumeration', is_config=True)""",

6558 })

6559

6560 self.__mem_policy = t

6561 if hasattr(self, '_set'):

6562 self._set()

6563

6564 def _unset_mem_policy(self):

6565 self.__mem_policy = YANGDynClass(base=RestrictedClassType(base_type=str, restriction_type="dict_key", restriction_arg={'STRICT': {}, 'PREFERRED': {}},), is_leaf=True, yang_name="mem-policy", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='urn:etsi:osm:yang:augments:epa', defining_module='epa', yang_type='enumeration', is_config=True)

6566

6567

6568 def _get_node(self):

6569 """

6570 Getter method for node, mapped from YANG variable /vnfd/virtual_compute_desc/virtual_memory/numa_node_policy/node (list)

6571 """

6572 return self.__node

6573

6574 def _set_node(self, v, load=False):

6575 """

6576 Setter method for node, mapped from YANG variable /vnfd/virtual_compute_desc/virtual_memory/numa_node_policy/node (list)

6577 If this variable is read-only (config: false) in the

6578 source YANG file, then _set_node is considered as a private

6579 method. Backends looking to populate this variable should

6580 do so via calling thisObj._set_node() directly.

6581 """

6582 if hasattr(v, "_utype"):

6583 v = v._utype(v)

6584 try:

6585 t = YANGDynClass(v,base=YANGListType("id",yc_node_etsi_nfv_vnfd__vnfd_virtual_compute_desc_virtual_memory_numa_node_policy_node, yang_name="node", parent=self, is_container='list', user_ordered=False, path_helper=self._path_helper, yang_keys='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:etsi:osm:yang:augments:epa', defining_module='epa', yang_type='list', is_config=True)

6586 except (TypeError, ValueError):

6587 raise ValueError({

6588 'error-string': """node must be of a type compatible with list""",

6589 'defined-type': "list",

6590 'generated-type': """YANGDynClass(base=YANGListType("id",yc_node_etsi_nfv_vnfd__vnfd_virtual_compute_desc_virtual_memory_numa_node_policy_node, yang_name="node", parent=self, is_container='list', user_ordered=False, path_helper=self._path_helper, yang_keys='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:etsi:osm:yang:augments:epa', defining_module='epa', yang_type='list', is_config=True)""",

6591 })

6592

6593 self.__node = t

6594 if hasattr(self, '_set'):

6595 self._set()

6596

6597 def _unset_node(self):

6598 self.__node = YANGDynClass(base=YANGListType("id",yc_node_etsi_nfv_vnfd__vnfd_virtual_compute_desc_virtual_memory_numa_node_policy_node, yang_name="node", parent=self, is_container='list', user_ordered=False, path_helper=self._path_helper, yang_keys='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:etsi:osm:yang:augments:epa', defining_module='epa', yang_type='list', is_config=True)

6599

6600 node_cnt = __builtin__.property(_get_node_cnt, _set_node_cnt)

6601 mem_policy = __builtin__.property(_get_mem_policy, _set_mem_policy)

6602 node = __builtin__.property(_get_node, _set_node)

6603

6604

6605 _pyangbind_elements = OrderedDict([('node_cnt', node_cnt), ('mem_policy', mem_policy), ('node', node), ])

6606

6607

6608 class yc_mem_quota_etsi_nfv_vnfd__vnfd_virtual_compute_desc_virtual_memory_mem_quota(PybindBase):

6609 """

6610 This class was auto-generated by the PythonClass plugin for PYANG

6611 from YANG module etsi-nfv-vnfd - based on the path /vnfd/virtual-compute-desc/virtual-memory/mem-quota. Each member element of

6612 the container is represented as a class variable - with a specific

6613 YANG type.

6614

6615 YANG Description: Memory quota describes the memory resource allocation policy.

6616 Limit and Reserve values are defined in MB

6617 """

6618 __slots__ = ('_path_helper', '_extmethods', '__limit','__reserve','__shares',)

6619

6620 _yang_name = 'mem-quota'

6621 _yang_namespace = 'urn:etsi:nfv:yang:etsi-nfv-vnfd'

6622

6623 _pybind_generated_by = 'container'

6624

6625 def __init__(self, *args, **kwargs):

6626

6627 self._path_helper = False

6628

6629 self._extmethods = False

6630 self.__limit = YANGDynClass(base=RestrictedClassType(base_type=long, restriction_dict={'range': ['0..18446744073709551615']}, int_size=64), is_leaf=True, yang_name="limit", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='urn:etsi:osm:yang:augments:epa', defining_module='epa', yang_type='uint64', is_config=True)

6631 self.__reserve = YANGDynClass(base=RestrictedClassType(base_type=long, restriction_dict={'range': ['0..18446744073709551615']}, int_size=64), is_leaf=True, yang_name="reserve", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='urn:etsi:osm:yang:augments:epa', defining_module='epa', yang_type='uint64', is_config=True)

6632 self.__shares = YANGDynClass(base=RestrictedClassType(base_type=long, restriction_dict={'range': ['0..18446744073709551615']}, int_size=64), is_leaf=True, yang_name="shares", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='urn:etsi:osm:yang:augments:epa', defining_module='epa', yang_type='uint64', is_config=True)

6633

6634 load = kwargs.pop("load", None)

6635 if args:

6636 if len(args) > 1:

6637 raise TypeError("cannot create a YANG container with >1 argument")

6638 all_attr = True

6639 for e in self._pyangbind_elements:

6640 if not hasattr(args[0], e):

6641 all_attr = False

6642 break

6643 if not all_attr:

6644 raise ValueError("Supplied object did not have the correct attributes")

6645 for e in self._pyangbind_elements:

6646 nobj = getattr(args[0], e)

6647 if nobj._changed() is False:

6648 continue

6649 setmethod = getattr(self, "_set_%s" % e)

6650 if load is None:

6651 setmethod(getattr(args[0], e))

6652 else:

6653 setmethod(getattr(args[0], e), load=load)

6654

6655 def _path(self):

6656 if hasattr(self, "_parent"):

6657 return self._parent._path()+[self._yang_name]

6658 else:

6659 return ['vnfd', 'virtual-compute-desc', 'virtual-memory', 'mem-quota']

6660

6661 def _get_limit(self):

6662 """

6663 Getter method for limit, mapped from YANG variable /vnfd/virtual_compute_desc/virtual_memory/mem_quota/limit (uint64)

6664

6665 YANG Description: Defines the maximum allocation. The value 0 indicates that usage is not limited.

6666 This parameter ensures that the instance never uses more than the defined amount of resource.

6667 """

6668 return self.__limit

6669

6670 def _set_limit(self, v, load=False):

6671 """

6672 Setter method for limit, mapped from YANG variable /vnfd/virtual_compute_desc/virtual_memory/mem_quota/limit (uint64)

6673 If this variable is read-only (config: false) in the

6674 source YANG file, then _set_limit is considered as a private

6675 method. Backends looking to populate this variable should

6676 do so via calling thisObj._set_limit() directly.

6677

6678 YANG Description: Defines the maximum allocation. The value 0 indicates that usage is not limited.

6679 This parameter ensures that the instance never uses more than the defined amount of resource.

6680 """

6681 if hasattr(v, "_utype"):

6682 v = v._utype(v)

6683 try:

6684 t = YANGDynClass(v,base=RestrictedClassType(base_type=long, restriction_dict={'range': ['0..18446744073709551615']}, int_size=64), is_leaf=True, yang_name="limit", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='urn:etsi:osm:yang:augments:epa', defining_module='epa', yang_type='uint64', is_config=True)

6685 except (TypeError, ValueError):

6686 raise ValueError({

6687 'error-string': """limit must be of a type compatible with uint64""",

6688 'defined-type': "uint64",

6689 'generated-type': """YANGDynClass(base=RestrictedClassType(base_type=long, restriction_dict={'range': ['0..18446744073709551615']}, int_size=64), is_leaf=True, yang_name="limit", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='urn:etsi:osm:yang:augments:epa', defining_module='epa', yang_type='uint64', is_config=True)""",

6690 })

6691

6692 self.__limit = t

6693 if hasattr(self, '_set'):

6694 self._set()

6695

6696 def _unset_limit(self):

6697 self.__limit = YANGDynClass(base=RestrictedClassType(base_type=long, restriction_dict={'range': ['0..18446744073709551615']}, int_size=64), is_leaf=True, yang_name="limit", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='urn:etsi:osm:yang:augments:epa', defining_module='epa', yang_type='uint64', is_config=True)

6698

6699

6700 def _get_reserve(self):

6701 """

6702 Getter method for reserve, mapped from YANG variable /vnfd/virtual_compute_desc/virtual_memory/mem_quota/reserve (uint64)

6703

6704 YANG Description: Defines the guaranteed minimum reservation.

6705 If needed, the machine will definitely get allocated the reserved amount of resources.

6706 """

6707 return self.__reserve

6708

6709 def _set_reserve(self, v, load=False):

6710 """

6711 Setter method for reserve, mapped from YANG variable /vnfd/virtual_compute_desc/virtual_memory/mem_quota/reserve (uint64)

6712 If this variable is read-only (config: false) in the

6713 source YANG file, then _set_reserve is considered as a private

6714 method. Backends looking to populate this variable should

6715 do so via calling thisObj._set_reserve() directly.

6716

6717 YANG Description: Defines the guaranteed minimum reservation.

6718 If needed, the machine will definitely get allocated the reserved amount of resources.

6719 """

6720 if hasattr(v, "_utype"):

6721 v = v._utype(v)

6722 try:

6723 t = YANGDynClass(v,base=RestrictedClassType(base_type=long, restriction_dict={'range': ['0..18446744073709551615']}, int_size=64), is_leaf=True, yang_name="reserve", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='urn:etsi:osm:yang:augments:epa', defining_module='epa', yang_type='uint64', is_config=True)

6724 except (TypeError, ValueError):

6725 raise ValueError({

6726 'error-string': """reserve must be of a type compatible with uint64""",

6727 'defined-type': "uint64",

6728 'generated-type': """YANGDynClass(base=RestrictedClassType(base_type=long, restriction_dict={'range': ['0..18446744073709551615']}, int_size=64), is_leaf=True, yang_name="reserve", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='urn:etsi:osm:yang:augments:epa', defining_module='epa', yang_type='uint64', is_config=True)""",

6729 })

6730

6731 self.__reserve = t

6732 if hasattr(self, '_set'):

6733 self._set()

6734

6735 def _unset_reserve(self):

6736 self.__reserve = YANGDynClass(base=RestrictedClassType(base_type=long, restriction_dict={'range': ['0..18446744073709551615']}, int_size=64), is_leaf=True, yang_name="reserve", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='urn:etsi:osm:yang:augments:epa', defining_module='epa', yang_type='uint64', is_config=True)

6737

6738

6739 def _get_shares(self):

6740 """

6741 Getter method for shares, mapped from YANG variable /vnfd/virtual_compute_desc/virtual_memory/mem_quota/shares (uint64)

6742

6743 YANG Description: Number of shares allocated.

6744 Specifies the proportional weighted share for the domain.

6745 If this element is omitted, the service defaults to the OS provided defaults

6746 """

6747 return self.__shares

6748

6749 def _set_shares(self, v, load=False):

6750 """

6751 Setter method for shares, mapped from YANG variable /vnfd/virtual_compute_desc/virtual_memory/mem_quota/shares (uint64)

6752 If this variable is read-only (config: false) in the

6753 source YANG file, then _set_shares is considered as a private

6754 method. Backends looking to populate this variable should

6755 do so via calling thisObj._set_shares() directly.

6756

6757 YANG Description: Number of shares allocated.

6758 Specifies the proportional weighted share for the domain.

6759 If this element is omitted, the service defaults to the OS provided defaults

6760 """

6761 if hasattr(v, "_utype"):

6762 v = v._utype(v)

6763 try:

6764 t = YANGDynClass(v,base=RestrictedClassType(base_type=long, restriction_dict={'range': ['0..18446744073709551615']}, int_size=64), is_leaf=True, yang_name="shares", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='urn:etsi:osm:yang:augments:epa', defining_module='epa', yang_type='uint64', is_config=True)

6765 except (TypeError, ValueError):

6766 raise ValueError({

6767 'error-string': """shares must be of a type compatible with uint64""",

6768 'defined-type': "uint64",

6769 'generated-type': """YANGDynClass(base=RestrictedClassType(base_type=long, restriction_dict={'range': ['0..18446744073709551615']}, int_size=64), is_leaf=True, yang_name="shares", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='urn:etsi:osm:yang:augments:epa', defining_module='epa', yang_type='uint64', is_config=True)""",

6770 })

6771

6772 self.__shares = t

6773 if hasattr(self, '_set'):

6774 self._set()

6775

6776 def _unset_shares(self):

6777 self.__shares = YANGDynClass(base=RestrictedClassType(base_type=long, restriction_dict={'range': ['0..18446744073709551615']}, int_size=64), is_leaf=True, yang_name="shares", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='urn:etsi:osm:yang:augments:epa', defining_module='epa', yang_type='uint64', is_config=True)

6778

6779 limit = __builtin__.property(_get_limit, _set_limit)

6780 reserve = __builtin__.property(_get_reserve, _set_reserve)

6781 shares = __builtin__.property(_get_shares, _set_shares)

6782

6783

6784 _pyangbind_elements = OrderedDict([('limit', limit), ('reserve', reserve), ('shares', shares), ])

6785

6786

6787 class yc_virtual_memory_etsi_nfv_vnfd__vnfd_virtual_compute_desc_virtual_memory(PybindBase):

6788 """

6789 This class was auto-generated by the PythonClass plugin for PYANG

6790 from YANG module etsi-nfv-vnfd - based on the path /vnfd/virtual-compute-desc/virtual-memory. Each member element of

6791 the container is represented as a class variable - with a specific

6792 YANG type.

6793

6794 YANG Description: The virtual memory of the virtualised compute.

6795 """

6796 __slots__ = ('_path_helper', '_extmethods', '__size','__over_subscription_policy','__vdu_mem_requirements','__numa_enabled','__numa_node_policy','__mempage_size','__mem_quota',)

6797

6798 _yang_name = 'virtual-memory'

6799 _yang_namespace = 'urn:etsi:nfv:yang:etsi-nfv-vnfd'

6800

6801 _pybind_generated_by = 'container'

6802

6803 def __init__(self, *args, **kwargs):

6804

6805 self._path_helper = False

6806

6807 self._extmethods = False

6808 self.__size = YANGDynClass(base=RestrictedClassType(base_type=Decimal, restriction_dict={'range': ['0..max']}), default=Decimal(1), is_leaf=True, yang_name="size", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='urn:etsi:nfv:yang:etsi-nfv-vnfd', defining_module='etsi-nfv-vnfd', yang_type='decimal64', is_config=True)

6809 self.__over_subscription_policy = YANGDynClass(base=str, is_leaf=True, yang_name="over-subscription-policy", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='urn:etsi:nfv:yang:etsi-nfv-vnfd', defining_module='etsi-nfv-vnfd', yang_type='string', is_config=True)

6810 self.__vdu_mem_requirements = YANGDynClass(base=YANGListType("key",yc_vdu_mem_requirements_etsi_nfv_vnfd__vnfd_virtual_compute_desc_virtual_memory_vdu_mem_requirements, yang_name="vdu-mem-requirements", parent=self, is_container='list', user_ordered=False, path_helper=self._path_helper, yang_keys='key', extensions=None), is_container='list', yang_name="vdu-mem-requirements", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, extensions=None, namespace='urn:etsi:nfv:yang:etsi-nfv-vnfd', defining_module='etsi-nfv-vnfd', yang_type='list', is_config=True)

6811 self.__numa_enabled = YANGDynClass(base=YANGBool, is_leaf=True, yang_name="numa-enabled", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='urn:etsi:nfv:yang:etsi-nfv-vnfd', defining_module='etsi-nfv-vnfd', yang_type='boolean', is_config=True)

6812 self.__numa_node_policy = YANGDynClass(base=yc_numa_node_policy_etsi_nfv_vnfd__vnfd_virtual_compute_desc_virtual_memory_numa_node_policy, is_container='container', yang_name="numa-node-policy", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, extensions=None, namespace='urn:etsi:osm:yang:augments:epa', defining_module='epa', yang_type='container', is_config=True)

6813 self.__mempage_size = YANGDynClass(base=RestrictedClassType(base_type=str, restriction_type="dict_key", restriction_arg={'LARGE': {}, 'SMALL': {}, 'SIZE_2MB': {}, 'SIZE_1GB': {}, 'PREFER_LARGE': {}},), is_leaf=True, yang_name="mempage-size", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='urn:etsi:osm:yang:augments:epa', defining_module='epa', yang_type='enumeration', is_config=True)

6814 self.__mem_quota = YANGDynClass(base=yc_mem_quota_etsi_nfv_vnfd__vnfd_virtual_compute_desc_virtual_memory_mem_quota, is_container='container', yang_name="mem-quota", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, extensions=None, namespace='urn:etsi:osm:yang:augments:epa', defining_module='epa', yang_type='container', is_config=True)

6815

6816 load = kwargs.pop("load", None)

6817 if args:

6818 if len(args) > 1:

6819 raise TypeError("cannot create a YANG container with >1 argument")

6820 all_attr = True

6821 for e in self._pyangbind_elements:

6822 if not hasattr(args[0], e):

6823 all_attr = False

6824 break

6825 if not all_attr:

6826 raise ValueError("Supplied object did not have the correct attributes")

6827 for e in self._pyangbind_elements:

6828 nobj = getattr(args[0], e)

6829 if nobj._changed() is False:

6830 continue

6831 setmethod = getattr(self, "_set_%s" % e)

6832 if load is None:

6833 setmethod(getattr(args[0], e))

6834 else:

6835 setmethod(getattr(args[0], e), load=load)

6836

6837 def _path(self):

6838 if hasattr(self, "_parent"):

6839 return self._parent._path()+[self._yang_name]

6840 else:

6841 return ['vnfd', 'virtual-compute-desc', 'virtual-memory']

6842

6843 def _get_size(self):

6844 """

6845 Getter method for size, mapped from YANG variable /vnfd/virtual_compute_desc/virtual_memory/size (decimal64)

6846

6847 YANG Description: Amount of virtual memory in GB.

6848 """

6849 return self.__size

6850

6851 def _set_size(self, v, load=False):

6852 """

6853 Setter method for size, mapped from YANG variable /vnfd/virtual_compute_desc/virtual_memory/size (decimal64)

6854 If this variable is read-only (config: false) in the

6855 source YANG file, then _set_size is considered as a private

6856 method. Backends looking to populate this variable should

6857 do so via calling thisObj._set_size() directly.

6858

6859 YANG Description: Amount of virtual memory in GB.

6860 """

6861 if hasattr(v, "_utype"):

6862 v = v._utype(v)

6863 try:

6864 t = YANGDynClass(v,base=RestrictedClassType(base_type=Decimal, restriction_dict={'range': ['0..max']}), default=Decimal(1), is_leaf=True, yang_name="size", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='urn:etsi:nfv:yang:etsi-nfv-vnfd', defining_module='etsi-nfv-vnfd', yang_type='decimal64', is_config=True)

6865 except (TypeError, ValueError):

6866 raise ValueError({

6867 'error-string': """size must be of a type compatible with decimal64""",

6868 'defined-type': "decimal64",

6869 'generated-type': """YANGDynClass(base=RestrictedClassType(base_type=Decimal, restriction_dict={'range': ['0..max']}), default=Decimal(1), is_leaf=True, yang_name="size", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='urn:etsi:nfv:yang:etsi-nfv-vnfd', defining_module='etsi-nfv-vnfd', yang_type='decimal64', is_config=True)""",

6870 })

6871

6872 self.__size = t

6873 if hasattr(self, '_set'):

6874 self._set()

6875

6876 def _unset_size(self):

6877 self.__size = YANGDynClass(base=RestrictedClassType(base_type=Decimal, restriction_dict={'range': ['0..max']}), default=Decimal(1), is_leaf=True, yang_name="size", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='urn:etsi:nfv:yang:etsi-nfv-vnfd', defining_module='etsi-nfv-vnfd', yang_type='decimal64', is_config=True)

6878

6879

6880 def _get_over_subscription_policy(self):

6881 """

6882 Getter method for over_subscription_policy, mapped from YANG variable /vnfd/virtual_compute_desc/virtual_memory/over_subscription_policy (string)

6883

6884 YANG Description: The memory core oversubscription policy in terms of

6885 virtual memory to physical memory on the platform.

6886 The cardinality can be 0 during the allocation

6887 request, if no particular value is requested.

6888 """

6889 return self.__over_subscription_policy

6890

6891 def _set_over_subscription_policy(self, v, load=False):

6892 """

6893 Setter method for over_subscription_policy, mapped from YANG variable /vnfd/virtual_compute_desc/virtual_memory/over_subscription_policy (string)

6894 If this variable is read-only (config: false) in the

6895 source YANG file, then _set_over_subscription_policy is considered as a private

6896 method. Backends looking to populate this variable should

6897 do so via calling thisObj._set_over_subscription_policy() directly.

6898

6899 YANG Description: The memory core oversubscription policy in terms of

6900 virtual memory to physical memory on the platform.

6901 The cardinality can be 0 during the allocation

6902 request, if no particular value is requested.

6903 """

6904 if hasattr(v, "_utype"):

6905 v = v._utype(v)

6906 try:

6907 t = YANGDynClass(v,base=str, is_leaf=True, yang_name="over-subscription-policy", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='urn:etsi:nfv:yang:etsi-nfv-vnfd', defining_module='etsi-nfv-vnfd', yang_type='string', is_config=True)

6908 except (TypeError, ValueError):

6909 raise ValueError({

6910 'error-string': """over_subscription_policy must be of a type compatible with string""",

6911 'defined-type': "string",

6912 'generated-type': """YANGDynClass(base=str, is_leaf=True, yang_name="over-subscription-policy", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='urn:etsi:nfv:yang:etsi-nfv-vnfd', defining_module='etsi-nfv-vnfd', yang_type='string', is_config=True)""",

6913 })

6914

6915 self.__over_subscription_policy = t

6916 if hasattr(self, '_set'):

6917 self._set()

6918

6919 def _unset_over_subscription_policy(self):

6920 self.__over_subscription_policy = YANGDynClass(base=str, is_leaf=True, yang_name="over-subscription-policy", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='urn:etsi:nfv:yang:etsi-nfv-vnfd', defining_module='etsi-nfv-vnfd', yang_type='string', is_config=True)

6921

6922

6923 def _get_vdu_mem_requirements(self):

6924 """

6925 Getter method for vdu_mem_requirements, mapped from YANG variable /vnfd/virtual_compute_desc/virtual_memory/vdu_mem_requirements (list)

6926

6927 YANG Description: Array of key-value pair requirements on the memory for

6928 the VDU.

6929 """

6930 return self.__vdu_mem_requirements

6931

6932 def _set_vdu_mem_requirements(self, v, load=False):

6933 """

6934 Setter method for vdu_mem_requirements, mapped from YANG variable /vnfd/virtual_compute_desc/virtual_memory/vdu_mem_requirements (list)

6935 If this variable is read-only (config: false) in the

6936 source YANG file, then _set_vdu_mem_requirements is considered as a private

6937 method. Backends looking to populate this variable should

6938 do so via calling thisObj._set_vdu_mem_requirements() directly.

6939

6940 YANG Description: Array of key-value pair requirements on the memory for

6941 the VDU.

6942 """

6943 if hasattr(v, "_utype"):

6944 v = v._utype(v)

6945 try:

6946 t = YANGDynClass(v,base=YANGListType("key",yc_vdu_mem_requirements_etsi_nfv_vnfd__vnfd_virtual_compute_desc_virtual_memory_vdu_mem_requirements, yang_name="vdu-mem-requirements", parent=self, is_container='list', user_ordered=False, path_helper=self._path_helper, yang_keys='key', extensions=None), is_container='list', yang_name="vdu-mem-requirements", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, extensions=None, namespace='urn:etsi:nfv:yang:etsi-nfv-vnfd', defining_module='etsi-nfv-vnfd', yang_type='list', is_config=True)

6947 except (TypeError, ValueError):

6948 raise ValueError({

6949 'error-string': """vdu_mem_requirements must be of a type compatible with list""",

6950 'defined-type': "list",

6951 'generated-type': """YANGDynClass(base=YANGListType("key",yc_vdu_mem_requirements_etsi_nfv_vnfd__vnfd_virtual_compute_desc_virtual_memory_vdu_mem_requirements, yang_name="vdu-mem-requirements", parent=self, is_container='list', user_ordered=False, path_helper=self._path_helper, yang_keys='key', extensions=None), is_container='list', yang_name="vdu-mem-requirements", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, extensions=None, namespace='urn:etsi:nfv:yang:etsi-nfv-vnfd', defining_module='etsi-nfv-vnfd', yang_type='list', is_config=True)""",

6952 })

6953

6954 self.__vdu_mem_requirements = t

6955 if hasattr(self, '_set'):

6956 self._set()

6957

6958 def _unset_vdu_mem_requirements(self):

6959 self.__vdu_mem_requirements = YANGDynClass(base=YANGListType("key",yc_vdu_mem_requirements_etsi_nfv_vnfd__vnfd_virtual_compute_desc_virtual_memory_vdu_mem_requirements, yang_name="vdu-mem-requirements", parent=self, is_container='list', user_ordered=False, path_helper=self._path_helper, yang_keys='key', extensions=None), is_container='list', yang_name="vdu-mem-requirements", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, extensions=None, namespace='urn:etsi:nfv:yang:etsi-nfv-vnfd', defining_module='etsi-nfv-vnfd', yang_type='list', is_config=True)

6960

6961

6962 def _get_numa_enabled(self):

6963 """

6964 Getter method for numa_enabled, mapped from YANG variable /vnfd/virtual_compute_desc/virtual_memory/numa_enabled (boolean)

6965

6966 YANG Description: It specifies the memory allocation to be cognisant of

6967 the relevant process/core allocation. The cardinality

6968 can be 0 during the allocation request, if no

6969 particular value is requested.

6970 """

6971 return self.__numa_enabled

6972

6973 def _set_numa_enabled(self, v, load=False):

6974 """

6975 Setter method for numa_enabled, mapped from YANG variable /vnfd/virtual_compute_desc/virtual_memory/numa_enabled (boolean)

6976 If this variable is read-only (config: false) in the

6977 source YANG file, then _set_numa_enabled is considered as a private

6978 method. Backends looking to populate this variable should

6979 do so via calling thisObj._set_numa_enabled() directly.

6980

6981 YANG Description: It specifies the memory allocation to be cognisant of

6982 the relevant process/core allocation. The cardinality

6983 can be 0 during the allocation request, if no

6984 particular value is requested.

6985 """

6986 if hasattr(v, "_utype"):

6987 v = v._utype(v)

6988 try:

6989 t = YANGDynClass(v,base=YANGBool, is_leaf=True, yang_name="numa-enabled", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='urn:etsi:nfv:yang:etsi-nfv-vnfd', defining_module='etsi-nfv-vnfd', yang_type='boolean', is_config=True)

6990 except (TypeError, ValueError):

6991 raise ValueError({

6992 'error-string': """numa_enabled must be of a type compatible with boolean""",

6993 'defined-type': "boolean",

6994 'generated-type': """YANGDynClass(base=YANGBool, is_leaf=True, yang_name="numa-enabled", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='urn:etsi:nfv:yang:etsi-nfv-vnfd', defining_module='etsi-nfv-vnfd', yang_type='boolean', is_config=True)""",

6995 })

6996

6997 self.__numa_enabled = t

6998 if hasattr(self, '_set'):

6999 self._set()

7000

7001 def _unset_numa_enabled(self):

7002 self.__numa_enabled = YANGDynClass(base=YANGBool, is_leaf=True, yang_name="numa-enabled", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='urn:etsi:nfv:yang:etsi-nfv-vnfd', defining_module='etsi-nfv-vnfd', yang_type='boolean', is_config=True)

7003

7004

7005 def _get_numa_node_policy(self):

7006 """

7007 Getter method for numa_node_policy, mapped from YANG variable /vnfd/virtual_compute_desc/virtual_memory/numa_node_policy (container)

7008

7009 YANG Description: This policy defines NUMA topology of the

7010 guest. Specifically identifies if the guest

7011 should be run on a host with one NUMA

7012 node or multiple NUMA nodes. As an example

7013 a guest might need 8 VCPUs and 4 GB of

7014 memory. However, it might need the VCPUs

7015 and memory distributed across multiple

7016 NUMA nodes. In this scenario, NUMA node

7017 1 could run with 6 VCPUs and 3GB, and

7018 NUMA node 2 could run with 2 VCPUs and

7019 1GB.

7020 """

7021 return self.__numa_node_policy

7022

7023 def _set_numa_node_policy(self, v, load=False):

7024 """

7025 Setter method for numa_node_policy, mapped from YANG variable /vnfd/virtual_compute_desc/virtual_memory/numa_node_policy (container)

7026 If this variable is read-only (config: false) in the

7027 source YANG file, then _set_numa_node_policy is considered as a private

7028 method. Backends looking to populate this variable should

7029 do so via calling thisObj._set_numa_node_policy() directly.

7030

7031 YANG Description: This policy defines NUMA topology of the

7032 guest. Specifically identifies if the guest

7033 should be run on a host with one NUMA

7034 node or multiple NUMA nodes. As an example

7035 a guest might need 8 VCPUs and 4 GB of

7036 memory. However, it might need the VCPUs

7037 and memory distributed across multiple

7038 NUMA nodes. In this scenario, NUMA node

7039 1 could run with 6 VCPUs and 3GB, and

7040 NUMA node 2 could run with 2 VCPUs and

7041 1GB.

7042 """

7043 if hasattr(v, "_utype"):

7044 v = v._utype(v)

7045 try:

7046 t = YANGDynClass(v,base=yc_numa_node_policy_etsi_nfv_vnfd__vnfd_virtual_compute_desc_virtual_memory_numa_node_policy, is_container='container', yang_name="numa-node-policy", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, extensions=None, namespace='urn:etsi:osm:yang:augments:epa', defining_module='epa', yang_type='container', is_config=True)

7047 except (TypeError, ValueError):

7048 raise ValueError({

7049 'error-string': """numa_node_policy must be of a type compatible with container""",

7050 'defined-type': "container",

7051 'generated-type': """YANGDynClass(base=yc_numa_node_policy_etsi_nfv_vnfd__vnfd_virtual_compute_desc_virtual_memory_numa_node_policy, is_container='container', yang_name="numa-node-policy", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, extensions=None, namespace='urn:etsi:osm:yang:augments:epa', defining_module='epa', yang_type='container', is_config=True)""",

7052 })

7053

7054 self.__numa_node_policy = t

7055 if hasattr(self, '_set'):

7056 self._set()

7057

7058 def _unset_numa_node_policy(self):

7059 self.__numa_node_policy = YANGDynClass(base=yc_numa_node_policy_etsi_nfv_vnfd__vnfd_virtual_compute_desc_virtual_memory_numa_node_policy, is_container='container', yang_name="numa-node-policy", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, extensions=None, namespace='urn:etsi:osm:yang:augments:epa', defining_module='epa', yang_type='container', is_config=True)

7060

7061

7062 def _get_mempage_size(self):

7063 """

7064 Getter method for mempage_size, mapped from YANG variable /vnfd/virtual_compute_desc/virtual_memory/mempage_size (enumeration)

7065

7066 YANG Description: Memory page allocation size. If a VM requires

7067 hugepages, it should choose LARGE or SIZE_2MB

7068 or SIZE_1GB. If the VM prefers hugepages it

7069 should choose PREFER_LARGE.

7070 LARGE : Require hugepages (either 2MB or 1GB)

7071 SMALL : Doesn't require hugepages

7072 SIZE_2MB : Requires 2MB hugepages

7073 SIZE_1GB : Requires 1GB hugepages

7074 PREFER_LARGE : Application prefers hugepages

7075 """

7076 return self.__mempage_size

7077

7078 def _set_mempage_size(self, v, load=False):

7079 """

7080 Setter method for mempage_size, mapped from YANG variable /vnfd/virtual_compute_desc/virtual_memory/mempage_size (enumeration)

7081 If this variable is read-only (config: false) in the

7082 source YANG file, then _set_mempage_size is considered as a private

7083 method. Backends looking to populate this variable should

7084 do so via calling thisObj._set_mempage_size() directly.

7085

7086 YANG Description: Memory page allocation size. If a VM requires

7087 hugepages, it should choose LARGE or SIZE_2MB

7088 or SIZE_1GB. If the VM prefers hugepages it

7089 should choose PREFER_LARGE.

7090 LARGE : Require hugepages (either 2MB or 1GB)

7091 SMALL : Doesn't require hugepages

7092 SIZE_2MB : Requires 2MB hugepages

7093 SIZE_1GB : Requires 1GB hugepages

7094 PREFER_LARGE : Application prefers hugepages

7095 """

7096 if hasattr(v, "_utype"):

7097 v = v._utype(v)

7098 try:

7099 t = YANGDynClass(v,base=RestrictedClassType(base_type=str, restriction_type="dict_key", restriction_arg={'LARGE': {}, 'SMALL': {}, 'SIZE_2MB': {}, 'SIZE_1GB': {}, 'PREFER_LARGE': {}},), is_leaf=True, yang_name="mempage-size", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='urn:etsi:osm:yang:augments:epa', defining_module='epa', yang_type='enumeration', is_config=True)

7100 except (TypeError, ValueError):

7101 raise ValueError({

7102 'error-string': """mempage_size must be of a type compatible with enumeration""",

7103 'defined-type': "epa:enumeration",

7104 'generated-type': """YANGDynClass(base=RestrictedClassType(base_type=str, restriction_type="dict_key", restriction_arg={'LARGE': {}, 'SMALL': {}, 'SIZE_2MB': {}, 'SIZE_1GB': {}, 'PREFER_LARGE': {}},), is_leaf=True, yang_name="mempage-size", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='urn:etsi:osm:yang:augments:epa', defining_module='epa', yang_type='enumeration', is_config=True)""",

7105 })

7106

7107 self.__mempage_size = t

7108 if hasattr(self, '_set'):

7109 self._set()

7110

7111 def _unset_mempage_size(self):

7112 self.__mempage_size = YANGDynClass(base=RestrictedClassType(base_type=str, restriction_type="dict_key", restriction_arg={'LARGE': {}, 'SMALL': {}, 'SIZE_2MB': {}, 'SIZE_1GB': {}, 'PREFER_LARGE': {}},), is_leaf=True, yang_name="mempage-size", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='urn:etsi:osm:yang:augments:epa', defining_module='epa', yang_type='enumeration', is_config=True)

7113

7114

7115 def _get_mem_quota(self):

7116 """

7117 Getter method for mem_quota, mapped from YANG variable /vnfd/virtual_compute_desc/virtual_memory/mem_quota (container)

7118

7119 YANG Description: Memory quota describes the memory resource allocation policy.

7120 Limit and Reserve values are defined in MB

7121 """

7122 return self.__mem_quota

7123

7124 def _set_mem_quota(self, v, load=False):

7125 """

7126 Setter method for mem_quota, mapped from YANG variable /vnfd/virtual_compute_desc/virtual_memory/mem_quota (container)

7127 If this variable is read-only (config: false) in the

7128 source YANG file, then _set_mem_quota is considered as a private

7129 method. Backends looking to populate this variable should

7130 do so via calling thisObj._set_mem_quota() directly.

7131

7132 YANG Description: Memory quota describes the memory resource allocation policy.

7133 Limit and Reserve values are defined in MB

7134 """

7135 if hasattr(v, "_utype"):

7136 v = v._utype(v)

7137 try:

7138 t = YANGDynClass(v,base=yc_mem_quota_etsi_nfv_vnfd__vnfd_virtual_compute_desc_virtual_memory_mem_quota, is_container='container', yang_name="mem-quota", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, extensions=None, namespace='urn:etsi:osm:yang:augments:epa', defining_module='epa', yang_type='container', is_config=True)

7139 except (TypeError, ValueError):

7140 raise ValueError({

7141 'error-string': """mem_quota must be of a type compatible with container""",

7142 'defined-type': "container",

7143 'generated-type': """YANGDynClass(base=yc_mem_quota_etsi_nfv_vnfd__vnfd_virtual_compute_desc_virtual_memory_mem_quota, is_container='container', yang_name="mem-quota", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, extensions=None, namespace='urn:etsi:osm:yang:augments:epa', defining_module='epa', yang_type='container', is_config=True)""",

7144 })

7145

7146 self.__mem_quota = t

7147 if hasattr(self, '_set'):

7148 self._set()

7149

7150 def _unset_mem_quota(self):

7151 self.__mem_quota = YANGDynClass(base=yc_mem_quota_etsi_nfv_vnfd__vnfd_virtual_compute_desc_virtual_memory_mem_quota, is_container='container', yang_name="mem-quota", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, extensions=None, namespace='urn:etsi:osm:yang:augments:epa', defining_module='epa', yang_type='container', is_config=True)

7152

7153 size = __builtin__.property(_get_size, _set_size)

7154 over_subscription_policy = __builtin__.property(_get_over_subscription_policy, _set_over_subscription_policy)

7155 vdu_mem_requirements = __builtin__.property(_get_vdu_mem_requirements, _set_vdu_mem_requirements)

7156 numa_enabled = __builtin__.property(_get_numa_enabled, _set_numa_enabled)

7157 numa_node_policy = __builtin__.property(_get_numa_node_policy, _set_numa_node_policy)

7158 mempage_size = __builtin__.property(_get_mempage_size, _set_mempage_size)

7159 mem_quota = __builtin__.property(_get_mem_quota, _set_mem_quota)

7160

7161

7162 _pyangbind_elements = OrderedDict([('size', size), ('over_subscription_policy', over_subscription_policy), ('vdu_mem_requirements', vdu_mem_requirements), ('numa_enabled', numa_enabled), ('numa_node_policy', numa_node_policy), ('mempage_size', mempage_size), ('mem_quota', mem_quota), ])

7163

7164

7165 class yc_vdu_cpu_requirements_etsi_nfv_vnfd__vnfd_virtual_compute_desc_virtual_cpu_vdu_cpu_requirements(PybindBase):

7166 """

7167 This class was auto-generated by the PythonClass plugin for PYANG

7168 from YANG module etsi-nfv-vnfd - based on the path /vnfd/virtual-compute-desc/virtual-cpu/vdu-cpu-requirements. Each member element of

7169 the container is represented as a class variable - with a specific

7170 YANG type.

7171

7172 YANG Description: Array of key-value pair requirements on the compute

7173(CPU) for the VDU.

7174 """

7175 __slots__ = ('_path_helper', '_extmethods', '__key','__value',)

7176

7177 _yang_name = 'vdu-cpu-requirements'

7178 _yang_namespace = 'urn:etsi:nfv:yang:etsi-nfv-vnfd'

7179

7180 _pybind_generated_by = 'container'

7181

7182 def __init__(self, *args, **kwargs):

7183

7184 self._path_helper = False

7185

7186 self._extmethods = False

7187 self.__key = YANGDynClass(base=str, is_leaf=True, yang_name="key", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, is_keyval=True, namespace='urn:etsi:nfv:yang:etsi-nfv-vnfd', defining_module='etsi-nfv-vnfd', yang_type='string', is_config=True)

7188 self.__value = YANGDynClass(base=str, is_leaf=True, yang_name="value", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='urn:etsi:nfv:yang:etsi-nfv-vnfd', defining_module='etsi-nfv-vnfd', yang_type='string', is_config=True)

7189

7190 load = kwargs.pop("load", None)

7191 if args:

7192 if len(args) > 1:

7193 raise TypeError("cannot create a YANG container with >1 argument")

7194 all_attr = True

7195 for e in self._pyangbind_elements:

7196 if not hasattr(args[0], e):

7197 all_attr = False

7198 break

7199 if not all_attr:

7200 raise ValueError("Supplied object did not have the correct attributes")

7201 for e in self._pyangbind_elements:

7202 nobj = getattr(args[0], e)

7203 if nobj._changed() is False:

7204 continue

7205 setmethod = getattr(self, "_set_%s" % e)

7206 if load is None:

7207 setmethod(getattr(args[0], e))

7208 else:

7209 setmethod(getattr(args[0], e), load=load)

7210

7211 def _path(self):

7212 if hasattr(self, "_parent"):

7213 return self._parent._path()+[self._yang_name]

7214 else:

7215 return ['vnfd', 'virtual-compute-desc', 'virtual-cpu', 'vdu-cpu-requirements']

7216

7217 def _get_key(self):

7218 """

7219 Getter method for key, mapped from YANG variable /vnfd/virtual_compute_desc/virtual_cpu/vdu_cpu_requirements/key (string)

7220 """

7221 return self.__key

7222

7223 def _set_key(self, v, load=False):

7224 """

7225 Setter method for key, mapped from YANG variable /vnfd/virtual_compute_desc/virtual_cpu/vdu_cpu_requirements/key (string)

7226 If this variable is read-only (config: false) in the

7227 source YANG file, then _set_key is considered as a private

7228 method. Backends looking to populate this variable should

7229 do so via calling thisObj._set_key() directly.

7230 """

7231 parent = getattr(self, "_parent", None)

7232 if parent is not None and load is False:

7233 raise AttributeError("Cannot set keys directly when" +

7234 " within an instantiated list")

7235

7236 if hasattr(v, "_utype"):

7237 v = v._utype(v)

7238 try:

7239 t = YANGDynClass(v,base=str, is_leaf=True, yang_name="key", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, is_keyval=True, namespace='urn:etsi:nfv:yang:etsi-nfv-vnfd', defining_module='etsi-nfv-vnfd', yang_type='string', is_config=True)

7240 except (TypeError, ValueError):

7241 raise ValueError({

7242 'error-string': """key must be of a type compatible with string""",

7243 'defined-type': "string",

7244 'generated-type': """YANGDynClass(base=str, is_leaf=True, yang_name="key", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, is_keyval=True, namespace='urn:etsi:nfv:yang:etsi-nfv-vnfd', defining_module='etsi-nfv-vnfd', yang_type='string', is_config=True)""",

7245 })

7246

7247 self.__key = t

7248 if hasattr(self, '_set'):

7249 self._set()

7250

7251 def _unset_key(self):

7252 self.__key = YANGDynClass(base=str, is_leaf=True, yang_name="key", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, is_keyval=True, namespace='urn:etsi:nfv:yang:etsi-nfv-vnfd', defining_module='etsi-nfv-vnfd', yang_type='string', is_config=True)

7253

7254

7255 def _get_value(self):

7256 """

7257 Getter method for value, mapped from YANG variable /vnfd/virtual_compute_desc/virtual_cpu/vdu_cpu_requirements/value (string)

7258 """

7259 return self.__value

7260

7261 def _set_value(self, v, load=False):

7262 """

7263 Setter method for value, mapped from YANG variable /vnfd/virtual_compute_desc/virtual_cpu/vdu_cpu_requirements/value (string)

7264 If this variable is read-only (config: false) in the

7265 source YANG file, then _set_value is considered as a private

7266 method. Backends looking to populate this variable should

7267 do so via calling thisObj._set_value() directly.

7268 """

7269 if hasattr(v, "_utype"):

7270 v = v._utype(v)

7271 try:

7272 t = YANGDynClass(v,base=str, is_leaf=True, yang_name="value", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='urn:etsi:nfv:yang:etsi-nfv-vnfd', defining_module='etsi-nfv-vnfd', yang_type='string', is_config=True)

7273 except (TypeError, ValueError):

7274 raise ValueError({

7275 'error-string': """value must be of a type compatible with string""",

7276 'defined-type': "string",

7277 'generated-type': """YANGDynClass(base=str, is_leaf=True, yang_name="value", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='urn:etsi:nfv:yang:etsi-nfv-vnfd', defining_module='etsi-nfv-vnfd', yang_type='string', is_config=True)""",

7278 })

7279

7280 self.__value = t

7281 if hasattr(self, '_set'):

7282 self._set()

7283

7284 def _unset_value(self):

7285 self.__value = YANGDynClass(base=str, is_leaf=True, yang_name="value", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='urn:etsi:nfv:yang:etsi-nfv-vnfd', defining_module='etsi-nfv-vnfd', yang_type='string', is_config=True)

7286

7287 key = __builtin__.property(_get_key, _set_key)

7288 value = __builtin__.property(_get_value, _set_value)

7289

7290

7291 _pyangbind_elements = OrderedDict([('key', key), ('value', value), ])

7292

7293

7294 class yc_rule_etsi_nfv_vnfd__vnfd_virtual_compute_desc_virtual_cpu_pinning_rule(PybindBase):

7295 """

7296 This class was auto-generated by the PythonClass plugin for PYANG

7297 from YANG module etsi-nfv-vnfd - based on the path /vnfd/virtual-compute-desc/virtual-cpu/pinning/rule. Each member element of

7298 the container is represented as a class variable - with a specific

7299 YANG type.

7300

7301 YANG Description: A list of rules that should be considered during the

7302 allocation of the virtual CPUs to logical CPUs in case

7303 of 'static' virtualCpuPinningPolicy.

7304 """

7305 __slots__ = ('_path_helper', '_extmethods', '__key','__value',)

7306

7307 _yang_name = 'rule'

7308 _yang_namespace = 'urn:etsi:nfv:yang:etsi-nfv-vnfd'

7309

7310 _pybind_generated_by = 'container'

7311

7312 def __init__(self, *args, **kwargs):

7313

7314 self._path_helper = False

7315

7316 self._extmethods = False

7317 self.__key = YANGDynClass(base=str, is_leaf=True, yang_name="key", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, is_keyval=True, namespace='urn:etsi:nfv:yang:etsi-nfv-vnfd', defining_module='etsi-nfv-vnfd', yang_type='string', is_config=True)

7318 self.__value = YANGDynClass(base=str, is_leaf=True, yang_name="value", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='urn:etsi:nfv:yang:etsi-nfv-vnfd', defining_module='etsi-nfv-vnfd', yang_type='string', is_config=True)

7319

7320 load = kwargs.pop("load", None)

7321 if args:

7322 if len(args) > 1:

7323 raise TypeError("cannot create a YANG container with >1 argument")

7324 all_attr = True

7325 for e in self._pyangbind_elements:

7326 if not hasattr(args[0], e):

7327 all_attr = False

7328 break

7329 if not all_attr:

7330 raise ValueError("Supplied object did not have the correct attributes")

7331 for e in self._pyangbind_elements:

7332 nobj = getattr(args[0], e)

7333 if nobj._changed() is False:

7334 continue

7335 setmethod = getattr(self, "_set_%s" % e)

7336 if load is None:

7337 setmethod(getattr(args[0], e))

7338 else:

7339 setmethod(getattr(args[0], e), load=load)

7340

7341 def _path(self):

7342 if hasattr(self, "_parent"):

7343 return self._parent._path()+[self._yang_name]

7344 else:

7345 return ['vnfd', 'virtual-compute-desc', 'virtual-cpu', 'pinning', 'rule']

7346

7347 def _get_key(self):

7348 """

7349 Getter method for key, mapped from YANG variable /vnfd/virtual_compute_desc/virtual_cpu/pinning/rule/key (string)

7350 """

7351 return self.__key

7352

7353 def _set_key(self, v, load=False):

7354 """

7355 Setter method for key, mapped from YANG variable /vnfd/virtual_compute_desc/virtual_cpu/pinning/rule/key (string)

7356 If this variable is read-only (config: false) in the

7357 source YANG file, then _set_key is considered as a private

7358 method. Backends looking to populate this variable should

7359 do so via calling thisObj._set_key() directly.

7360 """

7361 parent = getattr(self, "_parent", None)

7362 if parent is not None and load is False:

7363 raise AttributeError("Cannot set keys directly when" +

7364 " within an instantiated list")

7365

7366 if hasattr(v, "_utype"):

7367 v = v._utype(v)

7368 try:

7369 t = YANGDynClass(v,base=str, is_leaf=True, yang_name="key", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, is_keyval=True, namespace='urn:etsi:nfv:yang:etsi-nfv-vnfd', defining_module='etsi-nfv-vnfd', yang_type='string', is_config=True)

7370 except (TypeError, ValueError):

7371 raise ValueError({

7372 'error-string': """key must be of a type compatible with string""",

7373 'defined-type': "string",

7374 'generated-type': """YANGDynClass(base=str, is_leaf=True, yang_name="key", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, is_keyval=True, namespace='urn:etsi:nfv:yang:etsi-nfv-vnfd', defining_module='etsi-nfv-vnfd', yang_type='string', is_config=True)""",

7375 })

7376

7377 self.__key = t

7378 if hasattr(self, '_set'):

7379 self._set()

7380

7381 def _unset_key(self):

7382 self.__key = YANGDynClass(base=str, is_leaf=True, yang_name="key", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, is_keyval=True, namespace='urn:etsi:nfv:yang:etsi-nfv-vnfd', defining_module='etsi-nfv-vnfd', yang_type='string', is_config=True)

7383

7384

7385 def _get_value(self):

7386 """

7387 Getter method for value, mapped from YANG variable /vnfd/virtual_compute_desc/virtual_cpu/pinning/rule/value (string)

7388 """

7389 return self.__value

7390

7391 def _set_value(self, v, load=False):

7392 """

7393 Setter method for value, mapped from YANG variable /vnfd/virtual_compute_desc/virtual_cpu/pinning/rule/value (string)

7394 If this variable is read-only (config: false) in the

7395 source YANG file, then _set_value is considered as a private

7396 method. Backends looking to populate this variable should

7397 do so via calling thisObj._set_value() directly.

7398 """

7399 if hasattr(v, "_utype"):

7400 v = v._utype(v)

7401 try:

7402 t = YANGDynClass(v,base=str, is_leaf=True, yang_name="value", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='urn:etsi:nfv:yang:etsi-nfv-vnfd', defining_module='etsi-nfv-vnfd', yang_type='string', is_config=True)

7403 except (TypeError, ValueError):

7404 raise ValueError({

7405 'error-string': """value must be of a type compatible with string""",

7406 'defined-type': "string",

7407 'generated-type': """YANGDynClass(base=str, is_leaf=True, yang_name="value", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='urn:etsi:nfv:yang:etsi-nfv-vnfd', defining_module='etsi-nfv-vnfd', yang_type='string', is_config=True)""",

7408 })

7409

7410 self.__value = t

7411 if hasattr(self, '_set'):

7412 self._set()

7413

7414 def _unset_value(self):

7415 self.__value = YANGDynClass(base=str, is_leaf=True, yang_name="value", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='urn:etsi:nfv:yang:etsi-nfv-vnfd', defining_module='etsi-nfv-vnfd', yang_type='string', is_config=True)

7416

7417 key = __builtin__.property(_get_key, _set_key)

7418 value = __builtin__.property(_get_value, _set_value)

7419

7420

7421 _pyangbind_elements = OrderedDict([('key', key), ('value', value), ])

7422

7423

7424 class yc_pinning_etsi_nfv_vnfd__vnfd_virtual_compute_desc_virtual_cpu_pinning(PybindBase):

7425 """

7426 This class was auto-generated by the PythonClass plugin for PYANG

7427 from YANG module etsi-nfv-vnfd - based on the path /vnfd/virtual-compute-desc/virtual-cpu/pinning. Each member element of

7428 the container is represented as a class variable - with a specific

7429 YANG type.

7430

7431 YANG Description: The virtual CPU pinning configuration for the

7432 virtualised compute resource.

7433 """

7434 __slots__ = ('_path_helper', '_extmethods', '__policy','__rule','__thread_policy',)

7435

7436 _yang_name = 'pinning'

7437 _yang_namespace = 'urn:etsi:nfv:yang:etsi-nfv-vnfd'

7438

7439 _pybind_generated_by = 'container'

7440

7441 def __init__(self, *args, **kwargs):

7442

7443 self._path_helper = False

7444

7445 self._extmethods = False

7446 self.__policy = YANGDynClass(base=RestrictedClassType(base_type=str, restriction_type="dict_key", restriction_arg={'static': {}, 'dynamic': {}},), default=str("dynamic"), is_leaf=True, yang_name="policy", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='urn:etsi:nfv:yang:etsi-nfv-vnfd', defining_module='etsi-nfv-vnfd', yang_type='enumeration', is_config=True)

7447 self.__rule = YANGDynClass(base=YANGListType("key",yc_rule_etsi_nfv_vnfd__vnfd_virtual_compute_desc_virtual_cpu_pinning_rule, yang_name="rule", parent=self, is_container='list', user_ordered=False, path_helper=self._path_helper, yang_keys='key', extensions=None), is_container='list', yang_name="rule", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, extensions=None, namespace='urn:etsi:nfv:yang:etsi-nfv-vnfd', defining_module='etsi-nfv-vnfd', yang_type='list', is_config=True)

7448 self.__thread_policy = YANGDynClass(base=RestrictedClassType(base_type=str, restriction_type="dict_key", restriction_arg={'REQUIRE': {}, 'ISOLATE': {}, 'PREFER': {}},), is_leaf=True, yang_name="thread-policy", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='urn:etsi:osm:yang:augments:epa', defining_module='epa', yang_type='enumeration', is_config=True)

7449

7450 load = kwargs.pop("load", None)

7451 if args:

7452 if len(args) > 1:

7453 raise TypeError("cannot create a YANG container with >1 argument")

7454 all_attr = True

7455 for e in self._pyangbind_elements:

7456 if not hasattr(args[0], e):

7457 all_attr = False

7458 break

7459 if not all_attr:

7460 raise ValueError("Supplied object did not have the correct attributes")

7461 for e in self._pyangbind_elements:

7462 nobj = getattr(args[0], e)

7463 if nobj._changed() is False:

7464 continue

7465 setmethod = getattr(self, "_set_%s" % e)

7466 if load is None:

7467 setmethod(getattr(args[0], e))

7468 else:

7469 setmethod(getattr(args[0], e), load=load)

7470

7471 def _path(self):

7472 if hasattr(self, "_parent"):

7473 return self._parent._path()+[self._yang_name]

7474 else:

7475 return ['vnfd', 'virtual-compute-desc', 'virtual-cpu', 'pinning']

7476

7477 def _get_policy(self):

7478 """

7479 Getter method for policy, mapped from YANG variable /vnfd/virtual_compute_desc/virtual_cpu/pinning/policy (enumeration)

7480

7481 YANG Description: The policy can take values of 'static' or 'dynamic'.

7482 In case of 'static' the virtual CPU cores are

7483 requested to be allocated to logical CPU cores

7484 according to the rules defined in

7485 virtualCpuPinningRules. In case of 'dynamic' the

7486 allocation of virtual CPU cores to logical CPU cores

7487 is decided by the VIM. (e.g. SMT (Simultaneous

7488 MultiThreading) requirements).

7489 """

7490 return self.__policy

7491

7492 def _set_policy(self, v, load=False):

7493 """

7494 Setter method for policy, mapped from YANG variable /vnfd/virtual_compute_desc/virtual_cpu/pinning/policy (enumeration)

7495 If this variable is read-only (config: false) in the

7496 source YANG file, then _set_policy is considered as a private

7497 method. Backends looking to populate this variable should

7498 do so via calling thisObj._set_policy() directly.

7499

7500 YANG Description: The policy can take values of 'static' or 'dynamic'.

7501 In case of 'static' the virtual CPU cores are

7502 requested to be allocated to logical CPU cores

7503 according to the rules defined in

7504 virtualCpuPinningRules. In case of 'dynamic' the

7505 allocation of virtual CPU cores to logical CPU cores

7506 is decided by the VIM. (e.g. SMT (Simultaneous

7507 MultiThreading) requirements).

7508 """

7509 if hasattr(v, "_utype"):

7510 v = v._utype(v)

7511 try:

7512 t = YANGDynClass(v,base=RestrictedClassType(base_type=str, restriction_type="dict_key", restriction_arg={'static': {}, 'dynamic': {}},), default=str("dynamic"), is_leaf=True, yang_name="policy", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='urn:etsi:nfv:yang:etsi-nfv-vnfd', defining_module='etsi-nfv-vnfd', yang_type='enumeration', is_config=True)

7513 except (TypeError, ValueError):

7514 raise ValueError({

7515 'error-string': """policy must be of a type compatible with enumeration""",

7516 'defined-type': "etsi-nfv-vnfd:enumeration",

7517 'generated-type': """YANGDynClass(base=RestrictedClassType(base_type=str, restriction_type="dict_key", restriction_arg={'static': {}, 'dynamic': {}},), default=str("dynamic"), is_leaf=True, yang_name="policy", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='urn:etsi:nfv:yang:etsi-nfv-vnfd', defining_module='etsi-nfv-vnfd', yang_type='enumeration', is_config=True)""",

7518 })

7519

7520 self.__policy = t

7521 if hasattr(self, '_set'):

7522 self._set()

7523

7524 def _unset_policy(self):

7525 self.__policy = YANGDynClass(base=RestrictedClassType(base_type=str, restriction_type="dict_key", restriction_arg={'static': {}, 'dynamic': {}},), default=str("dynamic"), is_leaf=True, yang_name="policy", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='urn:etsi:nfv:yang:etsi-nfv-vnfd', defining_module='etsi-nfv-vnfd', yang_type='enumeration', is_config=True)

7526

7527

7528 def _get_rule(self):

7529 """

7530 Getter method for rule, mapped from YANG variable /vnfd/virtual_compute_desc/virtual_cpu/pinning/rule (list)

7531

7532 YANG Description: A list of rules that should be considered during the

7533 allocation of the virtual CPUs to logical CPUs in case

7534 of 'static' virtualCpuPinningPolicy.

7535 """

7536 return self.__rule

7537

7538 def _set_rule(self, v, load=False):

7539 """

7540 Setter method for rule, mapped from YANG variable /vnfd/virtual_compute_desc/virtual_cpu/pinning/rule (list)

7541 If this variable is read-only (config: false) in the

7542 source YANG file, then _set_rule is considered as a private

7543 method. Backends looking to populate this variable should

7544 do so via calling thisObj._set_rule() directly.

7545

7546 YANG Description: A list of rules that should be considered during the

7547 allocation of the virtual CPUs to logical CPUs in case

7548 of 'static' virtualCpuPinningPolicy.

7549 """

7550 if hasattr(v, "_utype"):

7551 v = v._utype(v)

7552 try:

7553 t = YANGDynClass(v,base=YANGListType("key",yc_rule_etsi_nfv_vnfd__vnfd_virtual_compute_desc_virtual_cpu_pinning_rule, yang_name="rule", parent=self, is_container='list', user_ordered=False, path_helper=self._path_helper, yang_keys='key', extensions=None), is_container='list', yang_name="rule", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, extensions=None, namespace='urn:etsi:nfv:yang:etsi-nfv-vnfd', defining_module='etsi-nfv-vnfd', yang_type='list', is_config=True)

7554 except (TypeError, ValueError):

7555 raise ValueError({

7556 'error-string': """rule must be of a type compatible with list""",

7557 'defined-type': "list",

7558 'generated-type': """YANGDynClass(base=YANGListType("key",yc_rule_etsi_nfv_vnfd__vnfd_virtual_compute_desc_virtual_cpu_pinning_rule, yang_name="rule", parent=self, is_container='list', user_ordered=False, path_helper=self._path_helper, yang_keys='key', extensions=None), is_container='list', yang_name="rule", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, extensions=None, namespace='urn:etsi:nfv:yang:etsi-nfv-vnfd', defining_module='etsi-nfv-vnfd', yang_type='list', is_config=True)""",

7559 })

7560

7561 self.__rule = t

7562 if hasattr(self, '_set'):

7563 self._set()

7564

7565 def _unset_rule(self):

7566 self.__rule = YANGDynClass(base=YANGListType("key",yc_rule_etsi_nfv_vnfd__vnfd_virtual_compute_desc_virtual_cpu_pinning_rule, yang_name="rule", parent=self, is_container='list', user_ordered=False, path_helper=self._path_helper, yang_keys='key', extensions=None), is_container='list', yang_name="rule", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, extensions=None, namespace='urn:etsi:nfv:yang:etsi-nfv-vnfd', defining_module='etsi-nfv-vnfd', yang_type='list', is_config=True)

7567

7568

7569 def _get_thread_policy(self):

7570 """

7571 Getter method for thread_policy, mapped from YANG variable /vnfd/virtual_compute_desc/virtual_cpu/pinning/thread_policy (enumeration)

7572

7573 YANG Description: CPU thread pinning policy describes how to

7574 place the guest CPUs when the host supports

7575 hyper threads:

7576 REQUIRE : Each vCPU is allocated on thread siblings

7577 of the same core.

7578 ISOLATE : Places each vCPU on a different core,

7579 and places no vCPUs from a different

7580 guest on the same core.

7581 PREFER : Attempts to place vCPUs on threads

7582 of the same core.

7583 """

7584 return self.__thread_policy

7585

7586 def _set_thread_policy(self, v, load=False):

7587 """

7588 Setter method for thread_policy, mapped from YANG variable /vnfd/virtual_compute_desc/virtual_cpu/pinning/thread_policy (enumeration)

7589 If this variable is read-only (config: false) in the

7590 source YANG file, then _set_thread_policy is considered as a private

7591 method. Backends looking to populate this variable should

7592 do so via calling thisObj._set_thread_policy() directly.

7593

7594 YANG Description: CPU thread pinning policy describes how to

7595 place the guest CPUs when the host supports

7596 hyper threads:

7597 REQUIRE : Each vCPU is allocated on thread siblings

7598 of the same core.

7599 ISOLATE : Places each vCPU on a different core,

7600 and places no vCPUs from a different

7601 guest on the same core.

7602 PREFER : Attempts to place vCPUs on threads

7603 of the same core.

7604 """

7605 if hasattr(v, "_utype"):

7606 v = v._utype(v)

7607 try:

7608 t = YANGDynClass(v,base=RestrictedClassType(base_type=str, restriction_type="dict_key", restriction_arg={'REQUIRE': {}, 'ISOLATE': {}, 'PREFER': {}},), is_leaf=True, yang_name="thread-policy", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='urn:etsi:osm:yang:augments:epa', defining_module='epa', yang_type='enumeration', is_config=True)

7609 except (TypeError, ValueError):

7610 raise ValueError({

7611 'error-string': """thread_policy must be of a type compatible with enumeration""",

7612 'defined-type': "epa:enumeration",

7613 'generated-type': """YANGDynClass(base=RestrictedClassType(base_type=str, restriction_type="dict_key", restriction_arg={'REQUIRE': {}, 'ISOLATE': {}, 'PREFER': {}},), is_leaf=True, yang_name="thread-policy", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='urn:etsi:osm:yang:augments:epa', defining_module='epa', yang_type='enumeration', is_config=True)""",

7614 })

7615

7616 self.__thread_policy = t

7617 if hasattr(self, '_set'):

7618 self._set()

7619

7620 def _unset_thread_policy(self):

7621 self.__thread_policy = YANGDynClass(base=RestrictedClassType(base_type=str, restriction_type="dict_key", restriction_arg={'REQUIRE': {}, 'ISOLATE': {}, 'PREFER': {}},), is_leaf=True, yang_name="thread-policy", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='urn:etsi:osm:yang:augments:epa', defining_module='epa', yang_type='enumeration', is_config=True)

7622

7623 policy = __builtin__.property(_get_policy, _set_policy)

7624 rule = __builtin__.property(_get_rule, _set_rule)

7625 thread_policy = __builtin__.property(_get_thread_policy, _set_thread_policy)

7626

7627

7628 _pyangbind_elements = OrderedDict([('policy', policy), ('rule', rule), ('thread_policy', thread_policy), ])

7629

7630

7631 class yc_cpu_quota_etsi_nfv_vnfd__vnfd_virtual_compute_desc_virtual_cpu_cpu_quota(PybindBase):

7632 """

7633 This class was auto-generated by the PythonClass plugin for PYANG

7634 from YANG module etsi-nfv-vnfd - based on the path /vnfd/virtual-compute-desc/virtual-cpu/cpu-quota. Each member element of

7635 the container is represented as a class variable - with a specific

7636 YANG type.

7637

7638 YANG Description: CPU quota describes the CPU resource allocation policy.

7639 Limit and Reserve values are defined in MHz

7640 """

7641 __slots__ = ('_path_helper', '_extmethods', '__limit','__reserve','__shares',)

7642

7643 _yang_name = 'cpu-quota'

7644 _yang_namespace = 'urn:etsi:nfv:yang:etsi-nfv-vnfd'

7645

7646 _pybind_generated_by = 'container'

7647

7648 def __init__(self, *args, **kwargs):

7649

7650 self._path_helper = False

7651

7652 self._extmethods = False

7653 self.__limit = YANGDynClass(base=RestrictedClassType(base_type=long, restriction_dict={'range': ['0..18446744073709551615']}, int_size=64), is_leaf=True, yang_name="limit", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='urn:etsi:osm:yang:augments:epa', defining_module='epa', yang_type='uint64', is_config=True)

7654 self.__reserve = YANGDynClass(base=RestrictedClassType(base_type=long, restriction_dict={'range': ['0..18446744073709551615']}, int_size=64), is_leaf=True, yang_name="reserve", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='urn:etsi:osm:yang:augments:epa', defining_module='epa', yang_type='uint64', is_config=True)

7655 self.__shares = YANGDynClass(base=RestrictedClassType(base_type=long, restriction_dict={'range': ['0..18446744073709551615']}, int_size=64), is_leaf=True, yang_name="shares", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='urn:etsi:osm:yang:augments:epa', defining_module='epa', yang_type='uint64', is_config=True)

7656

7657 load = kwargs.pop("load", None)

7658 if args:

7659 if len(args) > 1:

7660 raise TypeError("cannot create a YANG container with >1 argument")

7661 all_attr = True

7662 for e in self._pyangbind_elements:

7663 if not hasattr(args[0], e):

7664 all_attr = False

7665 break

7666 if not all_attr:

7667 raise ValueError("Supplied object did not have the correct attributes")

7668 for e in self._pyangbind_elements:

7669 nobj = getattr(args[0], e)

7670 if nobj._changed() is False:

7671 continue

7672 setmethod = getattr(self, "_set_%s" % e)

7673 if load is None:

7674 setmethod(getattr(args[0], e))

7675 else:

7676 setmethod(getattr(args[0], e), load=load)

7677

7678 def _path(self):

7679 if hasattr(self, "_parent"):

7680 return self._parent._path()+[self._yang_name]

7681 else:

7682 return ['vnfd', 'virtual-compute-desc', 'virtual-cpu', 'cpu-quota']

7683

7684 def _get_limit(self):

7685 """

7686 Getter method for limit, mapped from YANG variable /vnfd/virtual_compute_desc/virtual_cpu/cpu_quota/limit (uint64)

7687

7688 YANG Description: Defines the maximum allocation. The value 0 indicates that usage is not limited.

7689 This parameter ensures that the instance never uses more than the defined amount of resource.

7690 """

7691 return self.__limit

7692

7693 def _set_limit(self, v, load=False):

7694 """

7695 Setter method for limit, mapped from YANG variable /vnfd/virtual_compute_desc/virtual_cpu/cpu_quota/limit (uint64)

7696 If this variable is read-only (config: false) in the

7697 source YANG file, then _set_limit is considered as a private

7698 method. Backends looking to populate this variable should

7699 do so via calling thisObj._set_limit() directly.

7700

7701 YANG Description: Defines the maximum allocation. The value 0 indicates that usage is not limited.

7702 This parameter ensures that the instance never uses more than the defined amount of resource.

7703 """

7704 if hasattr(v, "_utype"):

7705 v = v._utype(v)

7706 try:

7707 t = YANGDynClass(v,base=RestrictedClassType(base_type=long, restriction_dict={'range': ['0..18446744073709551615']}, int_size=64), is_leaf=True, yang_name="limit", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='urn:etsi:osm:yang:augments:epa', defining_module='epa', yang_type='uint64', is_config=True)

7708 except (TypeError, ValueError):

7709 raise ValueError({

7710 'error-string': """limit must be of a type compatible with uint64""",

7711 'defined-type': "uint64",

7712 'generated-type': """YANGDynClass(base=RestrictedClassType(base_type=long, restriction_dict={'range': ['0..18446744073709551615']}, int_size=64), is_leaf=True, yang_name="limit", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='urn:etsi:osm:yang:augments:epa', defining_module='epa', yang_type='uint64', is_config=True)""",

7713 })

7714

7715 self.__limit = t

7716 if hasattr(self, '_set'):

7717 self._set()

7718

7719 def _unset_limit(self):

7720 self.__limit = YANGDynClass(base=RestrictedClassType(base_type=long, restriction_dict={'range': ['0..18446744073709551615']}, int_size=64), is_leaf=True, yang_name="limit", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='urn:etsi:osm:yang:augments:epa', defining_module='epa', yang_type='uint64', is_config=True)

7721

7722

7723 def _get_reserve(self):

7724 """

7725 Getter method for reserve, mapped from YANG variable /vnfd/virtual_compute_desc/virtual_cpu/cpu_quota/reserve (uint64)

7726

7727 YANG Description: Defines the guaranteed minimum reservation.

7728 If needed, the machine will definitely get allocated the reserved amount of resources.

7729 """

7730 return self.__reserve

7731

7732 def _set_reserve(self, v, load=False):

7733 """

7734 Setter method for reserve, mapped from YANG variable /vnfd/virtual_compute_desc/virtual_cpu/cpu_quota/reserve (uint64)

7735 If this variable is read-only (config: false) in the

7736 source YANG file, then _set_reserve is considered as a private

7737 method. Backends looking to populate this variable should

7738 do so via calling thisObj._set_reserve() directly.

7739

7740 YANG Description: Defines the guaranteed minimum reservation.

7741 If needed, the machine will definitely get allocated the reserved amount of resources.

7742 """

7743 if hasattr(v, "_utype"):

7744 v = v._utype(v)

7745 try:

7746 t = YANGDynClass(v,base=RestrictedClassType(base_type=long, restriction_dict={'range': ['0..18446744073709551615']}, int_size=64), is_leaf=True, yang_name="reserve", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='urn:etsi:osm:yang:augments:epa', defining_module='epa', yang_type='uint64', is_config=True)

7747 except (TypeError, ValueError):

7748 raise ValueError({

7749 'error-string': """reserve must be of a type compatible with uint64""",

7750 'defined-type': "uint64",

7751 'generated-type': """YANGDynClass(base=RestrictedClassType(base_type=long, restriction_dict={'range': ['0..18446744073709551615']}, int_size=64), is_leaf=True, yang_name="reserve", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='urn:etsi:osm:yang:augments:epa', defining_module='epa', yang_type='uint64', is_config=True)""",

7752 })

7753

7754 self.__reserve = t

7755 if hasattr(self, '_set'):

7756 self._set()

7757

7758 def _unset_reserve(self):

7759 self.__reserve = YANGDynClass(base=RestrictedClassType(base_type=long, restriction_dict={'range': ['0..18446744073709551615']}, int_size=64), is_leaf=True, yang_name="reserve", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='urn:etsi:osm:yang:augments:epa', defining_module='epa', yang_type='uint64', is_config=True)

7760

7761

7762 def _get_shares(self):

7763 """

7764 Getter method for shares, mapped from YANG variable /vnfd/virtual_compute_desc/virtual_cpu/cpu_quota/shares (uint64)

7765

7766 YANG Description: Number of shares allocated.

7767 Specifies the proportional weighted share for the domain.

7768 If this element is omitted, the service defaults to the OS provided defaults

7769 """

7770 return self.__shares

7771

7772 def _set_shares(self, v, load=False):

7773 """

7774 Setter method for shares, mapped from YANG variable /vnfd/virtual_compute_desc/virtual_cpu/cpu_quota/shares (uint64)

7775 If this variable is read-only (config: false) in the

7776 source YANG file, then _set_shares is considered as a private

7777 method. Backends looking to populate this variable should

7778 do so via calling thisObj._set_shares() directly.

7779

7780 YANG Description: Number of shares allocated.

7781 Specifies the proportional weighted share for the domain.

7782 If this element is omitted, the service defaults to the OS provided defaults

7783 """

7784 if hasattr(v, "_utype"):

7785 v = v._utype(v)

7786 try:

7787 t = YANGDynClass(v,base=RestrictedClassType(base_type=long, restriction_dict={'range': ['0..18446744073709551615']}, int_size=64), is_leaf=True, yang_name="shares", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='urn:etsi:osm:yang:augments:epa', defining_module='epa', yang_type='uint64', is_config=True)

7788 except (TypeError, ValueError):

7789 raise ValueError({

7790 'error-string': """shares must be of a type compatible with uint64""",

7791 'defined-type': "uint64",

7792 'generated-type': """YANGDynClass(base=RestrictedClassType(base_type=long, restriction_dict={'range': ['0..18446744073709551615']}, int_size=64), is_leaf=True, yang_name="shares", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='urn:etsi:osm:yang:augments:epa', defining_module='epa', yang_type='uint64', is_config=True)""",

7793 })

7794

7795 self.__shares = t

7796 if hasattr(self, '_set'):

7797 self._set()

7798

7799 def _unset_shares(self):

7800 self.__shares = YANGDynClass(base=RestrictedClassType(base_type=long, restriction_dict={'range': ['0..18446744073709551615']}, int_size=64), is_leaf=True, yang_name="shares", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='urn:etsi:osm:yang:augments:epa', defining_module='epa', yang_type='uint64', is_config=True)

7801

7802 limit = __builtin__.property(_get_limit, _set_limit)

7803 reserve = __builtin__.property(_get_reserve, _set_reserve)

7804 shares = __builtin__.property(_get_shares, _set_shares)

7805

7806

7807 _pyangbind_elements = OrderedDict([('limit', limit), ('reserve', reserve), ('shares', shares), ])

7808

7809

7810 class yc_virtual_cpu_etsi_nfv_vnfd__vnfd_virtual_compute_desc_virtual_cpu(PybindBase):

7811 """

7812 This class was auto-generated by the PythonClass plugin for PYANG

7813 from YANG module etsi-nfv-vnfd - based on the path /vnfd/virtual-compute-desc/virtual-cpu. Each member element of

7814 the container is represented as a class variable - with a specific

7815 YANG type.

7816

7817 YANG Description: The virtual CPU(s)of the virtualised compute.

7818 """

7819 __slots__ = ('_path_helper', '_extmethods', '__cpu_architecture','__num_virtual_cpu','__clock','__oversubscription_policy','__vdu_cpu_requirements','__pinning','__cpu_quota',)

7820

7821 _yang_name = 'virtual-cpu'

7822 _yang_namespace = 'urn:etsi:nfv:yang:etsi-nfv-vnfd'

7823

7824 _pybind_generated_by = 'container'

7825

7826 def __init__(self, *args, **kwargs):

7827

7828 self._path_helper = False

7829

7830 self._extmethods = False

7831 self.__cpu_architecture = YANGDynClass(base=str, is_leaf=True, yang_name="cpu-architecture", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='urn:etsi:nfv:yang:etsi-nfv-vnfd', defining_module='etsi-nfv-vnfd', yang_type='string', is_config=True)

7832 self.__num_virtual_cpu = YANGDynClass(base=RestrictedClassType(base_type=RestrictedClassType(base_type=int, restriction_dict={'range': ['0..65535']},int_size=16), restriction_dict={'range': ['1..max']}), default=RestrictedClassType(base_type=int, restriction_dict={'range': ['0..65535']},int_size=16)(1), is_leaf=True, yang_name="num-virtual-cpu", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='urn:etsi:nfv:yang:etsi-nfv-vnfd', defining_module='etsi-nfv-vnfd', yang_type='uint16', is_config=True)

7833 self.__clock = YANGDynClass(base=RestrictedClassType(base_type=long, restriction_dict={'range': ['0..4294967295']}, int_size=32), is_leaf=True, yang_name="clock", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='urn:etsi:nfv:yang:etsi-nfv-vnfd', defining_module='etsi-nfv-vnfd', yang_type='uint32', is_config=True)

7834 self.__oversubscription_policy = YANGDynClass(base=str, is_leaf=True, yang_name="oversubscription-policy", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='urn:etsi:nfv:yang:etsi-nfv-vnfd', defining_module='etsi-nfv-vnfd', yang_type='string', is_config=True)

7835 self.__vdu_cpu_requirements = YANGDynClass(base=YANGListType("key",yc_vdu_cpu_requirements_etsi_nfv_vnfd__vnfd_virtual_compute_desc_virtual_cpu_vdu_cpu_requirements, yang_name="vdu-cpu-requirements", parent=self, is_container='list', user_ordered=False, path_helper=self._path_helper, yang_keys='key', extensions=None), is_container='list', yang_name="vdu-cpu-requirements", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, extensions=None, namespace='urn:etsi:nfv:yang:etsi-nfv-vnfd', defining_module='etsi-nfv-vnfd', yang_type='list', is_config=True)

7836 self.__pinning = YANGDynClass(base=yc_pinning_etsi_nfv_vnfd__vnfd_virtual_compute_desc_virtual_cpu_pinning, is_container='container', yang_name="pinning", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, extensions=None, namespace='urn:etsi:nfv:yang:etsi-nfv-vnfd', defining_module='etsi-nfv-vnfd', yang_type='container', is_config=True)

7837 self.__cpu_quota = YANGDynClass(base=yc_cpu_quota_etsi_nfv_vnfd__vnfd_virtual_compute_desc_virtual_cpu_cpu_quota, is_container='container', yang_name="cpu-quota", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, extensions=None, namespace='urn:etsi:osm:yang:augments:epa', defining_module='epa', yang_type='container', is_config=True)

7838

7839 load = kwargs.pop("load", None)

7840 if args:

7841 if len(args) > 1:

7842 raise TypeError("cannot create a YANG container with >1 argument")

7843 all_attr = True

7844 for e in self._pyangbind_elements:

7845 if not hasattr(args[0], e):

7846 all_attr = False

7847 break

7848 if not all_attr:

7849 raise ValueError("Supplied object did not have the correct attributes")

7850 for e in self._pyangbind_elements:

7851 nobj = getattr(args[0], e)

7852 if nobj._changed() is False:

7853 continue

7854 setmethod = getattr(self, "_set_%s" % e)

7855 if load is None:

7856 setmethod(getattr(args[0], e))

7857 else:

7858 setmethod(getattr(args[0], e), load=load)

7859

7860 def _path(self):

7861 if hasattr(self, "_parent"):

7862 return self._parent._path()+[self._yang_name]

7863 else:

7864 return ['vnfd', 'virtual-compute-desc', 'virtual-cpu']

7865

7866 def _get_cpu_architecture(self):

7867 """

7868 Getter method for cpu_architecture, mapped from YANG variable /vnfd/virtual_compute_desc/virtual_cpu/cpu_architecture (string)

7869

7870 YANG Description: CPU architecture type. Examples are x86, ARM. The

7871 cardinality can be 0 during the allocation request,

7872 if no particular CPU architecture type is requested.

7873 """

7874 return self.__cpu_architecture

7875

7876 def _set_cpu_architecture(self, v, load=False):

7877 """

7878 Setter method for cpu_architecture, mapped from YANG variable /vnfd/virtual_compute_desc/virtual_cpu/cpu_architecture (string)

7879 If this variable is read-only (config: false) in the

7880 source YANG file, then _set_cpu_architecture is considered as a private

7881 method. Backends looking to populate this variable should

7882 do so via calling thisObj._set_cpu_architecture() directly.

7883

7884 YANG Description: CPU architecture type. Examples are x86, ARM. The

7885 cardinality can be 0 during the allocation request,

7886 if no particular CPU architecture type is requested.

7887 """

7888 if hasattr(v, "_utype"):

7889 v = v._utype(v)

7890 try:

7891 t = YANGDynClass(v,base=str, is_leaf=True, yang_name="cpu-architecture", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='urn:etsi:nfv:yang:etsi-nfv-vnfd', defining_module='etsi-nfv-vnfd', yang_type='string', is_config=True)

7892 except (TypeError, ValueError):

7893 raise ValueError({

7894 'error-string': """cpu_architecture must be of a type compatible with string""",

7895 'defined-type': "string",

7896 'generated-type': """YANGDynClass(base=str, is_leaf=True, yang_name="cpu-architecture", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='urn:etsi:nfv:yang:etsi-nfv-vnfd', defining_module='etsi-nfv-vnfd', yang_type='string', is_config=True)""",

7897 })

7898

7899 self.__cpu_architecture = t

7900 if hasattr(self, '_set'):

7901 self._set()

7902

7903 def _unset_cpu_architecture(self):

7904 self.__cpu_architecture = YANGDynClass(base=str, is_leaf=True, yang_name="cpu-architecture", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='urn:etsi:nfv:yang:etsi-nfv-vnfd', defining_module='etsi-nfv-vnfd', yang_type='string', is_config=True)

7905

7906

7907 def _get_num_virtual_cpu(self):

7908 """

7909 Getter method for num_virtual_cpu, mapped from YANG variable /vnfd/virtual_compute_desc/virtual_cpu/num_virtual_cpu (uint16)

7910

7911 YANG Description: Number of virtual CPUs.

7912 """

7913 return self.__num_virtual_cpu

7914

7915 def _set_num_virtual_cpu(self, v, load=False):

7916 """

7917 Setter method for num_virtual_cpu, mapped from YANG variable /vnfd/virtual_compute_desc/virtual_cpu/num_virtual_cpu (uint16)

7918 If this variable is read-only (config: false) in the

7919 source YANG file, then _set_num_virtual_cpu is considered as a private

7920 method. Backends looking to populate this variable should

7921 do so via calling thisObj._set_num_virtual_cpu() directly.

7922

7923 YANG Description: Number of virtual CPUs.

7924 """

7925 if hasattr(v, "_utype"):

7926 v = v._utype(v)

7927 try:

7928 t = YANGDynClass(v,base=RestrictedClassType(base_type=RestrictedClassType(base_type=int, restriction_dict={'range': ['0..65535']},int_size=16), restriction_dict={'range': ['1..max']}), default=RestrictedClassType(base_type=int, restriction_dict={'range': ['0..65535']},int_size=16)(1), is_leaf=True, yang_name="num-virtual-cpu", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='urn:etsi:nfv:yang:etsi-nfv-vnfd', defining_module='etsi-nfv-vnfd', yang_type='uint16', is_config=True)

7929 except (TypeError, ValueError):

7930 raise ValueError({

7931 'error-string': """num_virtual_cpu must be of a type compatible with uint16""",

7932 'defined-type': "uint16",

7933 'generated-type': """YANGDynClass(base=RestrictedClassType(base_type=RestrictedClassType(base_type=int, restriction_dict={'range': ['0..65535']},int_size=16), restriction_dict={'range': ['1..max']}), default=RestrictedClassType(base_type=int, restriction_dict={'range': ['0..65535']},int_size=16)(1), is_leaf=True, yang_name="num-virtual-cpu", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='urn:etsi:nfv:yang:etsi-nfv-vnfd', defining_module='etsi-nfv-vnfd', yang_type='uint16', is_config=True)""",

7934 })

7935

7936 self.__num_virtual_cpu = t

7937 if hasattr(self, '_set'):

7938 self._set()

7939

7940 def _unset_num_virtual_cpu(self):

7941 self.__num_virtual_cpu = YANGDynClass(base=RestrictedClassType(base_type=RestrictedClassType(base_type=int, restriction_dict={'range': ['0..65535']},int_size=16), restriction_dict={'range': ['1..max']}), default=RestrictedClassType(base_type=int, restriction_dict={'range': ['0..65535']},int_size=16)(1), is_leaf=True, yang_name="num-virtual-cpu", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='urn:etsi:nfv:yang:etsi-nfv-vnfd', defining_module='etsi-nfv-vnfd', yang_type='uint16', is_config=True)

7942

7943

7944 def _get_clock(self):

7945 """

7946 Getter method for clock, mapped from YANG variable /vnfd/virtual_compute_desc/virtual_cpu/clock (uint32)

7947

7948 YANG Description: Minimum virtual CPU clock rate (e.g. in MHz). The

7949 cardinality can be 0 during the allocation request,

7950 if no particular value is requested.

7951 """

7952 return self.__clock

7953

7954 def _set_clock(self, v, load=False):

7955 """

7956 Setter method for clock, mapped from YANG variable /vnfd/virtual_compute_desc/virtual_cpu/clock (uint32)

7957 If this variable is read-only (config: false) in the

7958 source YANG file, then _set_clock is considered as a private

7959 method. Backends looking to populate this variable should

7960 do so via calling thisObj._set_clock() directly.

7961

7962 YANG Description: Minimum virtual CPU clock rate (e.g. in MHz). The

7963 cardinality can be 0 during the allocation request,

7964 if no particular value is requested.

7965 """

7966 if hasattr(v, "_utype"):

7967 v = v._utype(v)

7968 try:

7969 t = YANGDynClass(v,base=RestrictedClassType(base_type=long, restriction_dict={'range': ['0..4294967295']}, int_size=32), is_leaf=True, yang_name="clock", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='urn:etsi:nfv:yang:etsi-nfv-vnfd', defining_module='etsi-nfv-vnfd', yang_type='uint32', is_config=True)

7970 except (TypeError, ValueError):

7971 raise ValueError({

7972 'error-string': """clock must be of a type compatible with uint32""",

7973 'defined-type': "uint32",

7974 'generated-type': """YANGDynClass(base=RestrictedClassType(base_type=long, restriction_dict={'range': ['0..4294967295']}, int_size=32), is_leaf=True, yang_name="clock", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='urn:etsi:nfv:yang:etsi-nfv-vnfd', defining_module='etsi-nfv-vnfd', yang_type='uint32', is_config=True)""",

7975 })

7976

7977 self.__clock = t

7978 if hasattr(self, '_set'):

7979 self._set()

7980

7981 def _unset_clock(self):

7982 self.__clock = YANGDynClass(base=RestrictedClassType(base_type=long, restriction_dict={'range': ['0..4294967295']}, int_size=32), is_leaf=True, yang_name="clock", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='urn:etsi:nfv:yang:etsi-nfv-vnfd', defining_module='etsi-nfv-vnfd', yang_type='uint32', is_config=True)

7983

7984

7985 def _get_oversubscription_policy(self):

7986 """

7987 Getter method for oversubscription_policy, mapped from YANG variable /vnfd/virtual_compute_desc/virtual_cpu/oversubscription_policy (string)

7988

7989 YANG Description: The CPU core oversubscription policy e.g. the relation

7990 of virtual CPU cores to physical CPU cores/threads.

7991 The cardinality can be 0 during the allocation request,

7992 if no particular value is requested.

7993 """

7994 return self.__oversubscription_policy

7995

7996 def _set_oversubscription_policy(self, v, load=False):

7997 """

7998 Setter method for oversubscription_policy, mapped from YANG variable /vnfd/virtual_compute_desc/virtual_cpu/oversubscription_policy (string)

7999 If this variable is read-only (config: false) in the

8000 source YANG file, then _set_oversubscription_policy is considered as a private

8001 method. Backends looking to populate this variable should

8002 do so via calling thisObj._set_oversubscription_policy() directly.

8003

8004 YANG Description: The CPU core oversubscription policy e.g. the relation

8005 of virtual CPU cores to physical CPU cores/threads.

8006 The cardinality can be 0 during the allocation request,

8007 if no particular value is requested.

8008 """

8009 if hasattr(v, "_utype"):

8010 v = v._utype(v)

8011 try:

8012 t = YANGDynClass(v,base=str, is_leaf=True, yang_name="oversubscription-policy", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='urn:etsi:nfv:yang:etsi-nfv-vnfd', defining_module='etsi-nfv-vnfd', yang_type='string', is_config=True)

8013 except (TypeError, ValueError):

8014 raise ValueError({

8015 'error-string': """oversubscription_policy must be of a type compatible with string""",

8016 'defined-type': "string",

8017 'generated-type': """YANGDynClass(base=str, is_leaf=True, yang_name="oversubscription-policy", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='urn:etsi:nfv:yang:etsi-nfv-vnfd', defining_module='etsi-nfv-vnfd', yang_type='string', is_config=True)""",

8018 })

8019

8020 self.__oversubscription_policy = t

8021 if hasattr(self, '_set'):

8022 self._set()

8023

8024 def _unset_oversubscription_policy(self):

8025 self.__oversubscription_policy = YANGDynClass(base=str, is_leaf=True, yang_name="oversubscription-policy", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='urn:etsi:nfv:yang:etsi-nfv-vnfd', defining_module='etsi-nfv-vnfd', yang_type='string', is_config=True)

8026

8027

8028 def _get_vdu_cpu_requirements(self):

8029 """

8030 Getter method for vdu_cpu_requirements, mapped from YANG variable /vnfd/virtual_compute_desc/virtual_cpu/vdu_cpu_requirements (list)

8031

8032 YANG Description: Array of key-value pair requirements on the compute

8033(CPU) for the VDU.

8034 """

8035 return self.__vdu_cpu_requirements

8036

8037 def _set_vdu_cpu_requirements(self, v, load=False):

8038 """

8039 Setter method for vdu_cpu_requirements, mapped from YANG variable /vnfd/virtual_compute_desc/virtual_cpu/vdu_cpu_requirements (list)

8040 If this variable is read-only (config: false) in the

8041 source YANG file, then _set_vdu_cpu_requirements is considered as a private

8042 method. Backends looking to populate this variable should

8043 do so via calling thisObj._set_vdu_cpu_requirements() directly.

8044

8045 YANG Description: Array of key-value pair requirements on the compute

8046(CPU) for the VDU.

8047 """

8048 if hasattr(v, "_utype"):

8049 v = v._utype(v)

8050 try:

8051 t = YANGDynClass(v,base=YANGListType("key",yc_vdu_cpu_requirements_etsi_nfv_vnfd__vnfd_virtual_compute_desc_virtual_cpu_vdu_cpu_requirements, yang_name="vdu-cpu-requirements", parent=self, is_container='list', user_ordered=False, path_helper=self._path_helper, yang_keys='key', extensions=None), is_container='list', yang_name="vdu-cpu-requirements", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, extensions=None, namespace='urn:etsi:nfv:yang:etsi-nfv-vnfd', defining_module='etsi-nfv-vnfd', yang_type='list', is_config=True)

8052 except (TypeError, ValueError):

8053 raise ValueError({

8054 'error-string': """vdu_cpu_requirements must be of a type compatible with list""",

8055 'defined-type': "list",

8056 'generated-type': """YANGDynClass(base=YANGListType("key",yc_vdu_cpu_requirements_etsi_nfv_vnfd__vnfd_virtual_compute_desc_virtual_cpu_vdu_cpu_requirements, yang_name="vdu-cpu-requirements", parent=self, is_container='list', user_ordered=False, path_helper=self._path_helper, yang_keys='key', extensions=None), is_container='list', yang_name="vdu-cpu-requirements", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, extensions=None, namespace='urn:etsi:nfv:yang:etsi-nfv-vnfd', defining_module='etsi-nfv-vnfd', yang_type='list', is_config=True)""",

8057 })

8058

8059 self.__vdu_cpu_requirements = t

8060 if hasattr(self, '_set'):

8061 self._set()

8062

8063 def _unset_vdu_cpu_requirements(self):

8064 self.__vdu_cpu_requirements = YANGDynClass(base=YANGListType("key",yc_vdu_cpu_requirements_etsi_nfv_vnfd__vnfd_virtual_compute_desc_virtual_cpu_vdu_cpu_requirements, yang_name="vdu-cpu-requirements", parent=self, is_container='list', user_ordered=False, path_helper=self._path_helper, yang_keys='key', extensions=None), is_container='list', yang_name="vdu-cpu-requirements", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, extensions=None, namespace='urn:etsi:nfv:yang:etsi-nfv-vnfd', defining_module='etsi-nfv-vnfd', yang_type='list', is_config=True)

8065

8066

8067 def _get_pinning(self):

8068 """

8069 Getter method for pinning, mapped from YANG variable /vnfd/virtual_compute_desc/virtual_cpu/pinning (container)

8070

8071 YANG Description: The virtual CPU pinning configuration for the

8072 virtualised compute resource.

8073 """

8074 return self.__pinning

8075

8076 def _set_pinning(self, v, load=False):

8077 """

8078 Setter method for pinning, mapped from YANG variable /vnfd/virtual_compute_desc/virtual_cpu/pinning (container)

8079 If this variable is read-only (config: false) in the

8080 source YANG file, then _set_pinning is considered as a private

8081 method. Backends looking to populate this variable should

8082 do so via calling thisObj._set_pinning() directly.

8083

8084 YANG Description: The virtual CPU pinning configuration for the

8085 virtualised compute resource.

8086 """

8087 if hasattr(v, "_utype"):

8088 v = v._utype(v)

8089 try:

8090 t = YANGDynClass(v,base=yc_pinning_etsi_nfv_vnfd__vnfd_virtual_compute_desc_virtual_cpu_pinning, is_container='container', yang_name="pinning", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, extensions=None, namespace='urn:etsi:nfv:yang:etsi-nfv-vnfd', defining_module='etsi-nfv-vnfd', yang_type='container', is_config=True)

8091 except (TypeError, ValueError):

8092 raise ValueError({

8093 'error-string': """pinning must be of a type compatible with container""",

8094 'defined-type': "container",

8095 'generated-type': """YANGDynClass(base=yc_pinning_etsi_nfv_vnfd__vnfd_virtual_compute_desc_virtual_cpu_pinning, is_container='container', yang_name="pinning", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, extensions=None, namespace='urn:etsi:nfv:yang:etsi-nfv-vnfd', defining_module='etsi-nfv-vnfd', yang_type='container', is_config=True)""",

8096 })

8097

8098 self.__pinning = t

8099 if hasattr(self, '_set'):

8100 self._set()

8101

8102 def _unset_pinning(self):

8103 self.__pinning = YANGDynClass(base=yc_pinning_etsi_nfv_vnfd__vnfd_virtual_compute_desc_virtual_cpu_pinning, is_container='container', yang_name="pinning", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, extensions=None, namespace='urn:etsi:nfv:yang:etsi-nfv-vnfd', defining_module='etsi-nfv-vnfd', yang_type='container', is_config=True)

8104

8105

8106 def _get_cpu_quota(self):

8107 """

8108 Getter method for cpu_quota, mapped from YANG variable /vnfd/virtual_compute_desc/virtual_cpu/cpu_quota (container)

8109

8110 YANG Description: CPU quota describes the CPU resource allocation policy.

8111 Limit and Reserve values are defined in MHz

8112 """

8113 return self.__cpu_quota

8114

8115 def _set_cpu_quota(self, v, load=False):

8116 """

8117 Setter method for cpu_quota, mapped from YANG variable /vnfd/virtual_compute_desc/virtual_cpu/cpu_quota (container)

8118 If this variable is read-only (config: false) in the

8119 source YANG file, then _set_cpu_quota is considered as a private

8120 method. Backends looking to populate this variable should

8121 do so via calling thisObj._set_cpu_quota() directly.

8122

8123 YANG Description: CPU quota describes the CPU resource allocation policy.

8124 Limit and Reserve values are defined in MHz

8125 """

8126 if hasattr(v, "_utype"):

8127 v = v._utype(v)

8128 try:

8129 t = YANGDynClass(v,base=yc_cpu_quota_etsi_nfv_vnfd__vnfd_virtual_compute_desc_virtual_cpu_cpu_quota, is_container='container', yang_name="cpu-quota", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, extensions=None, namespace='urn:etsi:osm:yang:augments:epa', defining_module='epa', yang_type='container', is_config=True)

8130 except (TypeError, ValueError):

8131 raise ValueError({

8132 'error-string': """cpu_quota must be of a type compatible with container""",

8133 'defined-type': "container",

8134 'generated-type': """YANGDynClass(base=yc_cpu_quota_etsi_nfv_vnfd__vnfd_virtual_compute_desc_virtual_cpu_cpu_quota, is_container='container', yang_name="cpu-quota", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, extensions=None, namespace='urn:etsi:osm:yang:augments:epa', defining_module='epa', yang_type='container', is_config=True)""",

8135 })

8136

8137 self.__cpu_quota = t

8138 if hasattr(self, '_set'):

8139 self._set()

8140

8141 def _unset_cpu_quota(self):

8142 self.__cpu_quota = YANGDynClass(base=yc_cpu_quota_etsi_nfv_vnfd__vnfd_virtual_compute_desc_virtual_cpu_cpu_quota, is_container='container', yang_name="cpu-quota", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, extensions=None, namespace='urn:etsi:osm:yang:augments:epa', defining_module='epa', yang_type='container', is_config=True)

8143

8144 cpu_architecture = __builtin__.property(_get_cpu_architecture, _set_cpu_architecture)

8145 num_virtual_cpu = __builtin__.property(_get_num_virtual_cpu, _set_num_virtual_cpu)

8146 clock = __builtin__.property(_get_clock, _set_clock)

8147 oversubscription_policy = __builtin__.property(_get_oversubscription_policy, _set_oversubscription_policy)

8148 vdu_cpu_requirements = __builtin__.property(_get_vdu_cpu_requirements, _set_vdu_cpu_requirements)

8149 pinning = __builtin__.property(_get_pinning, _set_pinning)

8150 cpu_quota = __builtin__.property(_get_cpu_quota, _set_cpu_quota)

8151

8152

8153 _pyangbind_elements = OrderedDict([('cpu_architecture', cpu_architecture), ('num_virtual_cpu', num_virtual_cpu), ('clock', clock), ('oversubscription_policy', oversubscription_policy), ('vdu_cpu_requirements', vdu_cpu_requirements), ('pinning', pinning), ('cpu_quota', cpu_quota), ])

8154

8155

8156 class yc_virtual_compute_desc_etsi_nfv_vnfd__vnfd_virtual_compute_desc(PybindBase):

8157 """

8158 This class was auto-generated by the PythonClass plugin for PYANG

8159 from YANG module etsi-nfv-vnfd - based on the path /vnfd/virtual-compute-desc. Each member element of

8160 the container is represented as a class variable - with a specific

8161 YANG type.

8162

8163 YANG Description: Defines descriptors of virtual compute resources to be

8164 used by the VNF.

8165 """

8166 __slots__ = ('_path_helper', '_extmethods', '__id','__logical_node','__request_additional_capability','__compute_requirements','__virtual_memory','__virtual_cpu',)

8167

8168 _yang_name = 'virtual-compute-desc'

8169 _yang_namespace = 'urn:etsi:nfv:yang:etsi-nfv-vnfd'

8170

8171 _pybind_generated_by = 'container'

8172

8173 def __init__(self, *args, **kwargs):

8174

8175 self._path_helper = False

8176

8177 self._extmethods = False

8178 self.__id = YANGDynClass(base=str, is_leaf=True, yang_name="id", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, is_keyval=True, namespace='urn:etsi:nfv:yang:etsi-nfv-vnfd', defining_module='etsi-nfv-vnfd', yang_type='string', is_config=True)

8179 self.__logical_node = YANGDynClass(base=YANGListType("id",yc_logical_node_etsi_nfv_vnfd__vnfd_virtual_compute_desc_logical_node, yang_name="logical-node", parent=self, is_container='list', user_ordered=False, path_helper=self._path_helper, yang_keys='id', extensions=None), is_container='list', yang_name="logical-node", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, extensions=None, namespace='urn:etsi:nfv:yang:etsi-nfv-vnfd', defining_module='etsi-nfv-vnfd', yang_type='list', is_config=True)

8180 self.__request_additional_capability = YANGDynClass(base=YANGListType("name",yc_request_additional_capability_etsi_nfv_vnfd__vnfd_virtual_compute_desc_request_additional_capability, yang_name="request-additional-capability", parent=self, is_container='list', user_ordered=False, path_helper=self._path_helper, yang_keys='name', extensions=None), is_container='list', yang_name="request-additional-capability", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, extensions=None, namespace='urn:etsi:nfv:yang:etsi-nfv-vnfd', defining_module='etsi-nfv-vnfd', yang_type='list', is_config=True)

8181 self.__compute_requirements = YANGDynClass(base=str, is_leaf=True, yang_name="compute-requirements", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='urn:etsi:nfv:yang:etsi-nfv-vnfd', defining_module='etsi-nfv-vnfd', yang_type='string', is_config=True)

8182 self.__virtual_memory = YANGDynClass(base=yc_virtual_memory_etsi_nfv_vnfd__vnfd_virtual_compute_desc_virtual_memory, is_container='container', yang_name="virtual-memory", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, extensions=None, namespace='urn:etsi:nfv:yang:etsi-nfv-vnfd', defining_module='etsi-nfv-vnfd', yang_type='container', is_config=True)

8183 self.__virtual_cpu = YANGDynClass(base=yc_virtual_cpu_etsi_nfv_vnfd__vnfd_virtual_compute_desc_virtual_cpu, is_container='container', yang_name="virtual-cpu", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, extensions=None, namespace='urn:etsi:nfv:yang:etsi-nfv-vnfd', defining_module='etsi-nfv-vnfd', yang_type='container', is_config=True)

8184

8185 load = kwargs.pop("load", None)

8186 if args:

8187 if len(args) > 1:

8188 raise TypeError("cannot create a YANG container with >1 argument")

8189 all_attr = True

8190 for e in self._pyangbind_elements:

8191 if not hasattr(args[0], e):

8192 all_attr = False

8193 break

8194 if not all_attr:

8195 raise ValueError("Supplied object did not have the correct attributes")

8196 for e in self._pyangbind_elements:

8197 nobj = getattr(args[0], e)

8198 if nobj._changed() is False:

8199 continue

8200 setmethod = getattr(self, "_set_%s" % e)

8201 if load is None:

8202 setmethod(getattr(args[0], e))

8203 else:

8204 setmethod(getattr(args[0], e), load=load)

8205

8206 def _path(self):

8207 if hasattr(self, "_parent"):

8208 return self._parent._path()+[self._yang_name]

8209 else:

8210 return ['vnfd', 'virtual-compute-desc']

8211

8212 def _get_id(self):

8213 """

8214 Getter method for id, mapped from YANG variable /vnfd/virtual_compute_desc/id (string)

8215

8216 YANG Description: Unique identifier of this VirtualComputeDesc in the

8217 VNFD.

8218 """

8219 return self.__id

8220

8221 def _set_id(self, v, load=False):

8222 """

8223 Setter method for id, mapped from YANG variable /vnfd/virtual_compute_desc/id (string)

8224 If this variable is read-only (config: false) in the

8225 source YANG file, then _set_id is considered as a private

8226 method. Backends looking to populate this variable should

8227 do so via calling thisObj._set_id() directly.

8228

8229 YANG Description: Unique identifier of this VirtualComputeDesc in the

8230 VNFD.

8231 """

8232 parent = getattr(self, "_parent", None)

8233 if parent is not None and load is False:

8234 raise AttributeError("Cannot set keys directly when" +

8235 " within an instantiated list")

8236

8237 if hasattr(v, "_utype"):

8238 v = v._utype(v)

8239 try:

8240 t = YANGDynClass(v,base=str, is_leaf=True, yang_name="id", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, is_keyval=True, namespace='urn:etsi:nfv:yang:etsi-nfv-vnfd', defining_module='etsi-nfv-vnfd', yang_type='string', is_config=True)

8241 except (TypeError, ValueError):

8242 raise ValueError({

8243 'error-string': """id must be of a type compatible with string""",

8244 'defined-type': "string",

8245 'generated-type': """YANGDynClass(base=str, is_leaf=True, yang_name="id", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, is_keyval=True, namespace='urn:etsi:nfv:yang:etsi-nfv-vnfd', defining_module='etsi-nfv-vnfd', yang_type='string', is_config=True)""",

8246 })

8247

8248 self.__id = t

8249 if hasattr(self, '_set'):

8250 self._set()

8251

8252 def _unset_id(self):

8253 self.__id = YANGDynClass(base=str, is_leaf=True, yang_name="id", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, is_keyval=True, namespace='urn:etsi:nfv:yang:etsi-nfv-vnfd', defining_module='etsi-nfv-vnfd', yang_type='string', is_config=True)

8254

8255

8256 def _get_logical_node(self):

8257 """

8258 Getter method for logical_node, mapped from YANG variable /vnfd/virtual_compute_desc/logical_node (list)

8259

8260 YANG Description: The logical node requirements.

8261 """

8262 return self.__logical_node

8263

8264 def _set_logical_node(self, v, load=False):

8265 """

8266 Setter method for logical_node, mapped from YANG variable /vnfd/virtual_compute_desc/logical_node (list)

8267 If this variable is read-only (config: false) in the

8268 source YANG file, then _set_logical_node is considered as a private

8269 method. Backends looking to populate this variable should

8270 do so via calling thisObj._set_logical_node() directly.

8271

8272 YANG Description: The logical node requirements.

8273 """

8274 if hasattr(v, "_utype"):

8275 v = v._utype(v)

8276 try:

8277 t = YANGDynClass(v,base=YANGListType("id",yc_logical_node_etsi_nfv_vnfd__vnfd_virtual_compute_desc_logical_node, yang_name="logical-node", parent=self, is_container='list', user_ordered=False, path_helper=self._path_helper, yang_keys='id', extensions=None), is_container='list', yang_name="logical-node", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, extensions=None, namespace='urn:etsi:nfv:yang:etsi-nfv-vnfd', defining_module='etsi-nfv-vnfd', yang_type='list', is_config=True)

8278 except (TypeError, ValueError):

8279 raise ValueError({

8280 'error-string': """logical_node must be of a type compatible with list""",

8281 'defined-type': "list",

8282 'generated-type': """YANGDynClass(base=YANGListType("id",yc_logical_node_etsi_nfv_vnfd__vnfd_virtual_compute_desc_logical_node, yang_name="logical-node", parent=self, is_container='list', user_ordered=False, path_helper=self._path_helper, yang_keys='id', extensions=None), is_container='list', yang_name="logical-node", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, extensions=None, namespace='urn:etsi:nfv:yang:etsi-nfv-vnfd', defining_module='etsi-nfv-vnfd', yang_type='list', is_config=True)""",

8283 })

8284

8285 self.__logical_node = t

8286 if hasattr(self, '_set'):

8287 self._set()

8288

8289 def _unset_logical_node(self):

8290 self.__logical_node = YANGDynClass(base=YANGListType("id",yc_logical_node_etsi_nfv_vnfd__vnfd_virtual_compute_desc_logical_node, yang_name="logical-node", parent=self, is_container='list', user_ordered=False, path_helper=self._path_helper, yang_keys='id', extensions=None), is_container='list', yang_name="logical-node", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, extensions=None, namespace='urn:etsi:nfv:yang:etsi-nfv-vnfd', defining_module='etsi-nfv-vnfd', yang_type='list', is_config=True)

8291

8292

8293 def _get_request_additional_capability(self):

8294 """

8295 Getter method for request_additional_capability, mapped from YANG variable /vnfd/virtual_compute_desc/request_additional_capability (list)

8296 """

8297 return self.__request_additional_capability

8298

8299 def _set_request_additional_capability(self, v, load=False):

8300 """

8301 Setter method for request_additional_capability, mapped from YANG variable /vnfd/virtual_compute_desc/request_additional_capability (list)

8302 If this variable is read-only (config: false) in the

8303 source YANG file, then _set_request_additional_capability is considered as a private

8304 method. Backends looking to populate this variable should

8305 do so via calling thisObj._set_request_additional_capability() directly.

8306 """

8307 if hasattr(v, "_utype"):

8308 v = v._utype(v)

8309 try:

8310 t = YANGDynClass(v,base=YANGListType("name",yc_request_additional_capability_etsi_nfv_vnfd__vnfd_virtual_compute_desc_request_additional_capability, yang_name="request-additional-capability", parent=self, is_container='list', user_ordered=False, path_helper=self._path_helper, yang_keys='name', extensions=None), is_container='list', yang_name="request-additional-capability", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, extensions=None, namespace='urn:etsi:nfv:yang:etsi-nfv-vnfd', defining_module='etsi-nfv-vnfd', yang_type='list', is_config=True)

8311 except (TypeError, ValueError):

8312 raise ValueError({

8313 'error-string': """request_additional_capability must be of a type compatible with list""",

8314 'defined-type': "list",

8315 'generated-type': """YANGDynClass(base=YANGListType("name",yc_request_additional_capability_etsi_nfv_vnfd__vnfd_virtual_compute_desc_request_additional_capability, yang_name="request-additional-capability", parent=self, is_container='list', user_ordered=False, path_helper=self._path_helper, yang_keys='name', extensions=None), is_container='list', yang_name="request-additional-capability", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, extensions=None, namespace='urn:etsi:nfv:yang:etsi-nfv-vnfd', defining_module='etsi-nfv-vnfd', yang_type='list', is_config=True)""",

8316 })

8317

8318 self.__request_additional_capability = t

8319 if hasattr(self, '_set'):

8320 self._set()

8321

8322 def _unset_request_additional_capability(self):

8323 self.__request_additional_capability = YANGDynClass(base=YANGListType("name",yc_request_additional_capability_etsi_nfv_vnfd__vnfd_virtual_compute_desc_request_additional_capability, yang_name="request-additional-capability", parent=self, is_container='list', user_ordered=False, path_helper=self._path_helper, yang_keys='name', extensions=None), is_container='list', yang_name="request-additional-capability", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, extensions=None, namespace='urn:etsi:nfv:yang:etsi-nfv-vnfd', defining_module='etsi-nfv-vnfd', yang_type='list', is_config=True)

8324

8325

8326 def _get_compute_requirements(self):

8327 """

8328 Getter method for compute_requirements, mapped from YANG variable /vnfd/virtual_compute_desc/compute_requirements (string)

8329

8330 YANG Description: Specifies compute requirements.

8331 """

8332 return self.__compute_requirements

8333

8334 def _set_compute_requirements(self, v, load=False):

8335 """

8336 Setter method for compute_requirements, mapped from YANG variable /vnfd/virtual_compute_desc/compute_requirements (string)

8337 If this variable is read-only (config: false) in the

8338 source YANG file, then _set_compute_requirements is considered as a private

8339 method. Backends looking to populate this variable should

8340 do so via calling thisObj._set_compute_requirements() directly.

8341

8342 YANG Description: Specifies compute requirements.

8343 """

8344 if hasattr(v, "_utype"):

8345 v = v._utype(v)

8346 try:

8347 t = YANGDynClass(v,base=str, is_leaf=True, yang_name="compute-requirements", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='urn:etsi:nfv:yang:etsi-nfv-vnfd', defining_module='etsi-nfv-vnfd', yang_type='string', is_config=True)

8348 except (TypeError, ValueError):

8349 raise ValueError({

8350 'error-string': """compute_requirements must be of a type compatible with string""",

8351 'defined-type': "string",

8352 'generated-type': """YANGDynClass(base=str, is_leaf=True, yang_name="compute-requirements", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='urn:etsi:nfv:yang:etsi-nfv-vnfd', defining_module='etsi-nfv-vnfd', yang_type='string', is_config=True)""",

8353 })

8354

8355 self.__compute_requirements = t

8356 if hasattr(self, '_set'):

8357 self._set()

8358

8359 def _unset_compute_requirements(self):

8360 self.__compute_requirements = YANGDynClass(base=str, is_leaf=True, yang_name="compute-requirements", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='urn:etsi:nfv:yang:etsi-nfv-vnfd', defining_module='etsi-nfv-vnfd', yang_type='string', is_config=True)

8361

8362

8363 def _get_virtual_memory(self):

8364 """

8365 Getter method for virtual_memory, mapped from YANG variable /vnfd/virtual_compute_desc/virtual_memory (container)

8366

8367 YANG Description: The virtual memory of the virtualised compute.

8368 """

8369 return self.__virtual_memory

8370

8371 def _set_virtual_memory(self, v, load=False):

8372 """

8373 Setter method for virtual_memory, mapped from YANG variable /vnfd/virtual_compute_desc/virtual_memory (container)

8374 If this variable is read-only (config: false) in the

8375 source YANG file, then _set_virtual_memory is considered as a private

8376 method. Backends looking to populate this variable should

8377 do so via calling thisObj._set_virtual_memory() directly.

8378

8379 YANG Description: The virtual memory of the virtualised compute.

8380 """

8381 if hasattr(v, "_utype"):

8382 v = v._utype(v)

8383 try:

8384 t = YANGDynClass(v,base=yc_virtual_memory_etsi_nfv_vnfd__vnfd_virtual_compute_desc_virtual_memory, is_container='container', yang_name="virtual-memory", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, extensions=None, namespace='urn:etsi:nfv:yang:etsi-nfv-vnfd', defining_module='etsi-nfv-vnfd', yang_type='container', is_config=True)

8385 except (TypeError, ValueError):

8386 raise ValueError({

8387 'error-string': """virtual_memory must be of a type compatible with container""",

8388 'defined-type': "container",

8389 'generated-type': """YANGDynClass(base=yc_virtual_memory_etsi_nfv_vnfd__vnfd_virtual_compute_desc_virtual_memory, is_container='container', yang_name="virtual-memory", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, extensions=None, namespace='urn:etsi:nfv:yang:etsi-nfv-vnfd', defining_module='etsi-nfv-vnfd', yang_type='container', is_config=True)""",

8390 })

8391

8392 self.__virtual_memory = t

8393 if hasattr(self, '_set'):

8394 self._set()

8395

8396 def _unset_virtual_memory(self):

8397 self.__virtual_memory = YANGDynClass(base=yc_virtual_memory_etsi_nfv_vnfd__vnfd_virtual_compute_desc_virtual_memory, is_container='container', yang_name="virtual-memory", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, extensions=None, namespace='urn:etsi:nfv:yang:etsi-nfv-vnfd', defining_module='etsi-nfv-vnfd', yang_type='container', is_config=True)

8398

8399

8400 def _get_virtual_cpu(self):

8401 """

8402 Getter method for virtual_cpu, mapped from YANG variable /vnfd/virtual_compute_desc/virtual_cpu (container)

8403

8404 YANG Description: The virtual CPU(s)of the virtualised compute.

8405 """

8406 return self.__virtual_cpu

8407

8408 def _set_virtual_cpu(self, v, load=False):

8409 """

8410 Setter method for virtual_cpu, mapped from YANG variable /vnfd/virtual_compute_desc/virtual_cpu (container)

8411 If this variable is read-only (config: false) in the

8412 source YANG file, then _set_virtual_cpu is considered as a private

8413 method. Backends looking to populate this variable should

8414 do so via calling thisObj._set_virtual_cpu() directly.

8415

8416 YANG Description: The virtual CPU(s)of the virtualised compute.

8417 """

8418 if hasattr(v, "_utype"):

8419 v = v._utype(v)

8420 try:

8421 t = YANGDynClass(v,base=yc_virtual_cpu_etsi_nfv_vnfd__vnfd_virtual_compute_desc_virtual_cpu, is_container='container', yang_name="virtual-cpu", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, extensions=None, namespace='urn:etsi:nfv:yang:etsi-nfv-vnfd', defining_module='etsi-nfv-vnfd', yang_type='container', is_config=True)

8422 except (TypeError, ValueError):

8423 raise ValueError({

8424 'error-string': """virtual_cpu must be of a type compatible with container""",

8425 'defined-type': "container",

8426 'generated-type': """YANGDynClass(base=yc_virtual_cpu_etsi_nfv_vnfd__vnfd_virtual_compute_desc_virtual_cpu, is_container='container', yang_name="virtual-cpu", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, extensions=None, namespace='urn:etsi:nfv:yang:etsi-nfv-vnfd', defining_module='etsi-nfv-vnfd', yang_type='container', is_config=True)""",

8427 })

8428

8429 self.__virtual_cpu = t

8430 if hasattr(self, '_set'):

8431 self._set()

8432

8433 def _unset_virtual_cpu(self):

8434 self.__virtual_cpu = YANGDynClass(base=yc_virtual_cpu_etsi_nfv_vnfd__vnfd_virtual_compute_desc_virtual_cpu, is_container='container', yang_name="virtual-cpu", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, extensions=None, namespace='urn:etsi:nfv:yang:etsi-nfv-vnfd', defining_module='etsi-nfv-vnfd', yang_type='container', is_config=True)

8435

8436 id = __builtin__.property(_get_id, _set_id)

8437 logical_node = __builtin__.property(_get_logical_node, _set_logical_node)

8438 request_additional_capability = __builtin__.property(_get_request_additional_capability, _set_request_additional_capability)

8439 compute_requirements = __builtin__.property(_get_compute_requirements, _set_compute_requirements)

8440 virtual_memory = __builtin__.property(_get_virtual_memory, _set_virtual_memory)

8441 virtual_cpu = __builtin__.property(_get_virtual_cpu, _set_virtual_cpu)

8442

8443

8444 _pyangbind_elements = OrderedDict([('id', id), ('logical_node', logical_node), ('request_additional_capability', request_additional_capability), ('compute_requirements', compute_requirements), ('virtual_memory', virtual_memory), ('virtual_cpu', virtual_cpu), ])

8445

8446

8447 class yc_vdu_storage_requirements_etsi_nfv_vnfd__vnfd_virtual_storage_desc_vdu_storage_requirements_vdu_storage_requirements(PybindBase):

8448 """

8449 This class was auto-generated by the PythonClass plugin for PYANG

8450 from YANG module etsi-nfv-vnfd - based on the path /vnfd/virtual-storage-desc/vdu-storage-requirements/vdu-storage-requirements. Each member element of

8451 the container is represented as a class variable - with a specific

8452 YANG type.

8453

8454 YANG Description: Array of key-value pairs that articulate the storage

8455 deployment requirements.

8456

8457 If the storage type is persistent-storage, the following setting

8458 holds the persistent volume upon VM deletion:

8459 key: keep-volume

8460 value: true

8461

8462 If storage volume can be attached to several VMs, the following setting

8463 will allow it:

8464 key: multiattach

8465 value: true

8466 """

8467 __slots__ = ('_path_helper', '_extmethods', '__key','__value',)

8468

8469 _yang_name = 'vdu-storage-requirements'

8470 _yang_namespace = 'urn:etsi:nfv:yang:etsi-nfv-vnfd'

8471

8472 _pybind_generated_by = 'container'

8473

8474 def __init__(self, *args, **kwargs):

8475

8476 self._path_helper = False

8477

8478 self._extmethods = False

8479 self.__key = YANGDynClass(base=str, is_leaf=True, yang_name="key", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, is_keyval=True, namespace='urn:etsi:osm:yang:augments:additional-info', defining_module='additional-info', yang_type='string', is_config=True)

8480 self.__value = YANGDynClass(base=str, is_leaf=True, yang_name="value", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='urn:etsi:osm:yang:augments:additional-info', defining_module='additional-info', yang_type='string', is_config=True)

8481

8482 load = kwargs.pop("load", None)

8483 if args:

8484 if len(args) > 1:

8485 raise TypeError("cannot create a YANG container with >1 argument")

8486 all_attr = True

8487 for e in self._pyangbind_elements:

8488 if not hasattr(args[0], e):

8489 all_attr = False

8490 break

8491 if not all_attr:

8492 raise ValueError("Supplied object did not have the correct attributes")

8493 for e in self._pyangbind_elements:

8494 nobj = getattr(args[0], e)

8495 if nobj._changed() is False:

8496 continue

8497 setmethod = getattr(self, "_set_%s" % e)

8498 if load is None:

8499 setmethod(getattr(args[0], e))

8500 else:

8501 setmethod(getattr(args[0], e), load=load)

8502

8503 def _path(self):

8504 if hasattr(self, "_parent"):

8505 return self._parent._path()+[self._yang_name]

8506 else:

8507 return ['vnfd', 'virtual-storage-desc', 'vdu-storage-requirements', 'vdu-storage-requirements']

8508

8509 def _get_key(self):

8510 """

8511 Getter method for key, mapped from YANG variable /vnfd/virtual_storage_desc/vdu_storage_requirements/vdu_storage_requirements/key (string)

8512 """

8513 return self.__key

8514

8515 def _set_key(self, v, load=False):

8516 """

8517 Setter method for key, mapped from YANG variable /vnfd/virtual_storage_desc/vdu_storage_requirements/vdu_storage_requirements/key (string)

8518 If this variable is read-only (config: false) in the

8519 source YANG file, then _set_key is considered as a private

8520 method. Backends looking to populate this variable should

8521 do so via calling thisObj._set_key() directly.

8522 """

8523 parent = getattr(self, "_parent", None)

8524 if parent is not None and load is False:

8525 raise AttributeError("Cannot set keys directly when" +

8526 " within an instantiated list")

8527

8528 if hasattr(v, "_utype"):

8529 v = v._utype(v)

8530 try:

8531 t = YANGDynClass(v,base=str, is_leaf=True, yang_name="key", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, is_keyval=True, namespace='urn:etsi:osm:yang:augments:additional-info', defining_module='additional-info', yang_type='string', is_config=True)

8532 except (TypeError, ValueError):

8533 raise ValueError({

8534 'error-string': """key must be of a type compatible with string""",

8535 'defined-type': "string",

8536 'generated-type': """YANGDynClass(base=str, is_leaf=True, yang_name="key", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, is_keyval=True, namespace='urn:etsi:osm:yang:augments:additional-info', defining_module='additional-info', yang_type='string', is_config=True)""",

8537 })

8538

8539 self.__key = t

8540 if hasattr(self, '_set'):

8541 self._set()

8542

8543 def _unset_key(self):

8544 self.__key = YANGDynClass(base=str, is_leaf=True, yang_name="key", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, is_keyval=True, namespace='urn:etsi:osm:yang:augments:additional-info', defining_module='additional-info', yang_type='string', is_config=True)

8545

8546

8547 def _get_value(self):

8548 """

8549 Getter method for value, mapped from YANG variable /vnfd/virtual_storage_desc/vdu_storage_requirements/vdu_storage_requirements/value (string)

8550 """

8551 return self.__value

8552

8553 def _set_value(self, v, load=False):

8554 """

8555 Setter method for value, mapped from YANG variable /vnfd/virtual_storage_desc/vdu_storage_requirements/vdu_storage_requirements/value (string)

8556 If this variable is read-only (config: false) in the

8557 source YANG file, then _set_value is considered as a private

8558 method. Backends looking to populate this variable should

8559 do so via calling thisObj._set_value() directly.

8560 """

8561 if hasattr(v, "_utype"):

8562 v = v._utype(v)

8563 try:

8564 t = YANGDynClass(v,base=str, is_leaf=True, yang_name="value", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='urn:etsi:osm:yang:augments:additional-info', defining_module='additional-info', yang_type='string', is_config=True)

8565 except (TypeError, ValueError):

8566 raise ValueError({

8567 'error-string': """value must be of a type compatible with string""",

8568 'defined-type': "string",

8569 'generated-type': """YANGDynClass(base=str, is_leaf=True, yang_name="value", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='urn:etsi:osm:yang:augments:additional-info', defining_module='additional-info', yang_type='string', is_config=True)""",

8570 })

8571

8572 self.__value = t

8573 if hasattr(self, '_set'):

8574 self._set()

8575

8576 def _unset_value(self):

8577 self.__value = YANGDynClass(base=str, is_leaf=True, yang_name="value", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='urn:etsi:osm:yang:augments:additional-info', defining_module='additional-info', yang_type='string', is_config=True)

8578

8579 key = __builtin__.property(_get_key, _set_key)

8580 value = __builtin__.property(_get_value, _set_value)

8581

8582

8583 _pyangbind_elements = OrderedDict([('key', key), ('value', value), ])

8584

8585

8586 class yc_vdu_storage_requirements_etsi_nfv_vnfd__vnfd_virtual_storage_desc_vdu_storage_requirements(PybindBase):

8587 """

8588 This class was auto-generated by the PythonClass plugin for PYANG

8589 from YANG module etsi-nfv-vnfd - based on the path /vnfd/virtual-storage-desc/vdu-storage-requirements. Each member element of

8590 the container is represented as a class variable - with a specific

8591 YANG type.

8592

8593 YANG Description: Array of key-value pairs that articulate the storage

8594 deployment requirements.

8595 """

8596 __slots__ = ('_path_helper', '_extmethods', '__key','__value','__vdu_storage_requirements',)

8597

8598 _yang_name = 'vdu-storage-requirements'

8599 _yang_namespace = 'urn:etsi:nfv:yang:etsi-nfv-vnfd'

8600

8601 _pybind_generated_by = 'container'

8602

8603 def __init__(self, *args, **kwargs):

8604

8605 self._path_helper = False

8606

8607 self._extmethods = False

8608 self.__key = YANGDynClass(base=str, is_leaf=True, yang_name="key", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, is_keyval=True, namespace='urn:etsi:nfv:yang:etsi-nfv-vnfd', defining_module='etsi-nfv-vnfd', yang_type='string', is_config=True)

8609 self.__value = YANGDynClass(base=str, is_leaf=True, yang_name="value", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='urn:etsi:nfv:yang:etsi-nfv-vnfd', defining_module='etsi-nfv-vnfd', yang_type='string', is_config=True)

8610 self.__vdu_storage_requirements = YANGDynClass(base=YANGListType("key",yc_vdu_storage_requirements_etsi_nfv_vnfd__vnfd_virtual_storage_desc_vdu_storage_requirements_vdu_storage_requirements, yang_name="vdu-storage-requirements", parent=self, is_container='list', user_ordered=False, path_helper=self._path_helper, yang_keys='key', extensions=None), is_container='list', yang_name="vdu-storage-requirements", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, extensions=None, namespace='urn:etsi:osm:yang:augments:additional-info', defining_module='additional-info', yang_type='list', is_config=True)

8611

8612 load = kwargs.pop("load", None)

8613 if args:

8614 if len(args) > 1:

8615 raise TypeError("cannot create a YANG container with >1 argument")

8616 all_attr = True

8617 for e in self._pyangbind_elements:

8618 if not hasattr(args[0], e):

8619 all_attr = False

8620 break

8621 if not all_attr:

8622 raise ValueError("Supplied object did not have the correct attributes")

8623 for e in self._pyangbind_elements:

8624 nobj = getattr(args[0], e)

8625 if nobj._changed() is False:

8626 continue

8627 setmethod = getattr(self, "_set_%s" % e)

8628 if load is None:

8629 setmethod(getattr(args[0], e))

8630 else:

8631 setmethod(getattr(args[0], e), load=load)

8632

8633 def _path(self):

8634 if hasattr(self, "_parent"):

8635 return self._parent._path()+[self._yang_name]

8636 else:

8637 return ['vnfd', 'virtual-storage-desc', 'vdu-storage-requirements']

8638

8639 def _get_key(self):

8640 """

8641 Getter method for key, mapped from YANG variable /vnfd/virtual_storage_desc/vdu_storage_requirements/key (string)

8642 """

8643 return self.__key

8644

8645 def _set_key(self, v, load=False):

8646 """

8647 Setter method for key, mapped from YANG variable /vnfd/virtual_storage_desc/vdu_storage_requirements/key (string)

8648 If this variable is read-only (config: false) in the

8649 source YANG file, then _set_key is considered as a private

8650 method. Backends looking to populate this variable should

8651 do so via calling thisObj._set_key() directly.

8652 """

8653 parent = getattr(self, "_parent", None)

8654 if parent is not None and load is False:

8655 raise AttributeError("Cannot set keys directly when" +

8656 " within an instantiated list")

8657

8658 if hasattr(v, "_utype"):

8659 v = v._utype(v)

8660 try:

8661 t = YANGDynClass(v,base=str, is_leaf=True, yang_name="key", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, is_keyval=True, namespace='urn:etsi:nfv:yang:etsi-nfv-vnfd', defining_module='etsi-nfv-vnfd', yang_type='string', is_config=True)

8662 except (TypeError, ValueError):

8663 raise ValueError({

8664 'error-string': """key must be of a type compatible with string""",

8665 'defined-type': "string",

8666 'generated-type': """YANGDynClass(base=str, is_leaf=True, yang_name="key", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, is_keyval=True, namespace='urn:etsi:nfv:yang:etsi-nfv-vnfd', defining_module='etsi-nfv-vnfd', yang_type='string', is_config=True)""",

8667 })

8668

8669 self.__key = t

8670 if hasattr(self, '_set'):

8671 self._set()

8672

8673 def _unset_key(self):

8674 self.__key = YANGDynClass(base=str, is_leaf=True, yang_name="key", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, is_keyval=True, namespace='urn:etsi:nfv:yang:etsi-nfv-vnfd', defining_module='etsi-nfv-vnfd', yang_type='string', is_config=True)

8675

8676

8677 def _get_value(self):

8678 """

8679 Getter method for value, mapped from YANG variable /vnfd/virtual_storage_desc/vdu_storage_requirements/value (string)

8680 """

8681 return self.__value

8682

8683 def _set_value(self, v, load=False):

8684 """

8685 Setter method for value, mapped from YANG variable /vnfd/virtual_storage_desc/vdu_storage_requirements/value (string)

8686 If this variable is read-only (config: false) in the

8687 source YANG file, then _set_value is considered as a private

8688 method. Backends looking to populate this variable should

8689 do so via calling thisObj._set_value() directly.

8690 """

8691 if hasattr(v, "_utype"):

8692 v = v._utype(v)

8693 try:

8694 t = YANGDynClass(v,base=str, is_leaf=True, yang_name="value", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='urn:etsi:nfv:yang:etsi-nfv-vnfd', defining_module='etsi-nfv-vnfd', yang_type='string', is_config=True)

8695 except (TypeError, ValueError):

8696 raise ValueError({

8697 'error-string': """value must be of a type compatible with string""",

8698 'defined-type': "string",

8699 'generated-type': """YANGDynClass(base=str, is_leaf=True, yang_name="value", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='urn:etsi:nfv:yang:etsi-nfv-vnfd', defining_module='etsi-nfv-vnfd', yang_type='string', is_config=True)""",

8700 })

8701

8702 self.__value = t

8703 if hasattr(self, '_set'):

8704 self._set()

8705

8706 def _unset_value(self):

8707 self.__value = YANGDynClass(base=str, is_leaf=True, yang_name="value", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='urn:etsi:nfv:yang:etsi-nfv-vnfd', defining_module='etsi-nfv-vnfd', yang_type='string', is_config=True)

8708

8709

8710 def _get_vdu_storage_requirements(self):

8711 """

8712 Getter method for vdu_storage_requirements, mapped from YANG variable /vnfd/virtual_storage_desc/vdu_storage_requirements/vdu_storage_requirements (list)

8713

8714 YANG Description: Array of key-value pairs that articulate the storage

8715 deployment requirements.

8716

8717 If the storage type is persistent-storage, the following setting

8718 holds the persistent volume upon VM deletion:

8719 key: keep-volume

8720 value: true

8721

8722 If storage volume can be attached to several VMs, the following setting

8723 will allow it:

8724 key: multiattach

8725 value: true

8726 """

8727 return self.__vdu_storage_requirements

8728

8729 def _set_vdu_storage_requirements(self, v, load=False):

8730 """

8731 Setter method for vdu_storage_requirements, mapped from YANG variable /vnfd/virtual_storage_desc/vdu_storage_requirements/vdu_storage_requirements (list)

8732 If this variable is read-only (config: false) in the

8733 source YANG file, then _set_vdu_storage_requirements is considered as a private

8734 method. Backends looking to populate this variable should

8735 do so via calling thisObj._set_vdu_storage_requirements() directly.

8736

8737 YANG Description: Array of key-value pairs that articulate the storage

8738 deployment requirements.

8739

8740 If the storage type is persistent-storage, the following setting

8741 holds the persistent volume upon VM deletion:

8742 key: keep-volume

8743 value: true

8744

8745 If storage volume can be attached to several VMs, the following setting

8746 will allow it:

8747 key: multiattach

8748 value: true

8749 """

8750 if hasattr(v, "_utype"):

8751 v = v._utype(v)

8752 try:

8753 t = YANGDynClass(v,base=YANGListType("key",yc_vdu_storage_requirements_etsi_nfv_vnfd__vnfd_virtual_storage_desc_vdu_storage_requirements_vdu_storage_requirements, yang_name="vdu-storage-requirements", parent=self, is_container='list', user_ordered=False, path_helper=self._path_helper, yang_keys='key', extensions=None), is_container='list', yang_name="vdu-storage-requirements", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, extensions=None, namespace='urn:etsi:osm:yang:augments:additional-info', defining_module='additional-info', yang_type='list', is_config=True)

8754 except (TypeError, ValueError):

8755 raise ValueError({

8756 'error-string': """vdu_storage_requirements must be of a type compatible with list""",

8757 'defined-type': "list",

8758 'generated-type': """YANGDynClass(base=YANGListType("key",yc_vdu_storage_requirements_etsi_nfv_vnfd__vnfd_virtual_storage_desc_vdu_storage_requirements_vdu_storage_requirements, yang_name="vdu-storage-requirements", parent=self, is_container='list', user_ordered=False, path_helper=self._path_helper, yang_keys='key', extensions=None), is_container='list', yang_name="vdu-storage-requirements", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, extensions=None, namespace='urn:etsi:osm:yang:augments:additional-info', defining_module='additional-info', yang_type='list', is_config=True)""",

8759 })

8760

8761 self.__vdu_storage_requirements = t

8762 if hasattr(self, '_set'):

8763 self._set()

8764

8765 def _unset_vdu_storage_requirements(self):

8766 self.__vdu_storage_requirements = YANGDynClass(base=YANGListType("key",yc_vdu_storage_requirements_etsi_nfv_vnfd__vnfd_virtual_storage_desc_vdu_storage_requirements_vdu_storage_requirements, yang_name="vdu-storage-requirements", parent=self, is_container='list', user_ordered=False, path_helper=self._path_helper, yang_keys='key', extensions=None), is_container='list', yang_name="vdu-storage-requirements", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, extensions=None, namespace='urn:etsi:osm:yang:augments:additional-info', defining_module='additional-info', yang_type='list', is_config=True)

8767

8768 key = __builtin__.property(_get_key, _set_key)

8769 value = __builtin__.property(_get_value, _set_value)

8770 vdu_storage_requirements = __builtin__.property(_get_vdu_storage_requirements, _set_vdu_storage_requirements)

8771

8772

8773 _pyangbind_elements = OrderedDict([('key', key), ('value', value), ('vdu_storage_requirements', vdu_storage_requirements), ])

8774

8775

8776 class yc_disk_io_quota_etsi_nfv_vnfd__vnfd_virtual_storage_desc_disk_io_quota(PybindBase):

8777 """

8778 This class was auto-generated by the PythonClass plugin for PYANG

8779 from YANG module etsi-nfv-vnfd - based on the path /vnfd/virtual-storage-desc/disk-io-quota. Each member element of

8780 the container is represented as a class variable - with a specific

8781 YANG type.

8782

8783 YANG Description: Disk IO quota describes the disk IO operations resource allocation policy.

8784 Limit and Reserve values are defined in IOPS

8785 """

8786 __slots__ = ('_path_helper', '_extmethods', '__limit','__reserve','__shares',)

8787

8788 _yang_name = 'disk-io-quota'

8789 _yang_namespace = 'urn:etsi:nfv:yang:etsi-nfv-vnfd'

8790

8791 _pybind_generated_by = 'container'

8792

8793 def __init__(self, *args, **kwargs):

8794

8795 self._path_helper = False

8796

8797 self._extmethods = False

8798 self.__limit = YANGDynClass(base=RestrictedClassType(base_type=long, restriction_dict={'range': ['0..18446744073709551615']}, int_size=64), is_leaf=True, yang_name="limit", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='urn:etsi:osm:yang:augments:epa', defining_module='epa', yang_type='uint64', is_config=True)

8799 self.__reserve = YANGDynClass(base=RestrictedClassType(base_type=long, restriction_dict={'range': ['0..18446744073709551615']}, int_size=64), is_leaf=True, yang_name="reserve", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='urn:etsi:osm:yang:augments:epa', defining_module='epa', yang_type='uint64', is_config=True)

8800 self.__shares = YANGDynClass(base=RestrictedClassType(base_type=long, restriction_dict={'range': ['0..18446744073709551615']}, int_size=64), is_leaf=True, yang_name="shares", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='urn:etsi:osm:yang:augments:epa', defining_module='epa', yang_type='uint64', is_config=True)

8801

8802 load = kwargs.pop("load", None)

8803 if args:

8804 if len(args) > 1:

8805 raise TypeError("cannot create a YANG container with >1 argument")

8806 all_attr = True

8807 for e in self._pyangbind_elements:

8808 if not hasattr(args[0], e):

8809 all_attr = False

8810 break

8811 if not all_attr:

8812 raise ValueError("Supplied object did not have the correct attributes")

8813 for e in self._pyangbind_elements:

8814 nobj = getattr(args[0], e)

8815 if nobj._changed() is False:

8816 continue

8817 setmethod = getattr(self, "_set_%s" % e)

8818 if load is None:

8819 setmethod(getattr(args[0], e))

8820 else:

8821 setmethod(getattr(args[0], e), load=load)

8822

8823 def _path(self):

8824 if hasattr(self, "_parent"):

8825 return self._parent._path()+[self._yang_name]

8826 else:

8827 return ['vnfd', 'virtual-storage-desc', 'disk-io-quota']

8828

8829 def _get_limit(self):

8830 """

8831 Getter method for limit, mapped from YANG variable /vnfd/virtual_storage_desc/disk_io_quota/limit (uint64)

8832

8833 YANG Description: Defines the maximum allocation. The value 0 indicates that usage is not limited.

8834 This parameter ensures that the instance never uses more than the defined amount of resource.

8835 """

8836 return self.__limit

8837

8838 def _set_limit(self, v, load=False):

8839 """

8840 Setter method for limit, mapped from YANG variable /vnfd/virtual_storage_desc/disk_io_quota/limit (uint64)

8841 If this variable is read-only (config: false) in the

8842 source YANG file, then _set_limit is considered as a private

8843 method. Backends looking to populate this variable should

8844 do so via calling thisObj._set_limit() directly.

8845

8846 YANG Description: Defines the maximum allocation. The value 0 indicates that usage is not limited.

8847 This parameter ensures that the instance never uses more than the defined amount of resource.

8848 """

8849 if hasattr(v, "_utype"):

8850 v = v._utype(v)

8851 try:

8852 t = YANGDynClass(v,base=RestrictedClassType(base_type=long, restriction_dict={'range': ['0..18446744073709551615']}, int_size=64), is_leaf=True, yang_name="limit", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='urn:etsi:osm:yang:augments:epa', defining_module='epa', yang_type='uint64', is_config=True)

8853 except (TypeError, ValueError):

8854 raise ValueError({

8855 'error-string': """limit must be of a type compatible with uint64""",

8856 'defined-type': "uint64",

8857 'generated-type': """YANGDynClass(base=RestrictedClassType(base_type=long, restriction_dict={'range': ['0..18446744073709551615']}, int_size=64), is_leaf=True, yang_name="limit", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='urn:etsi:osm:yang:augments:epa', defining_module='epa', yang_type='uint64', is_config=True)""",

8858 })

8859

8860 self.__limit = t

8861 if hasattr(self, '_set'):

8862 self._set()

8863

8864 def _unset_limit(self):

8865 self.__limit = YANGDynClass(base=RestrictedClassType(base_type=long, restriction_dict={'range': ['0..18446744073709551615']}, int_size=64), is_leaf=True, yang_name="limit", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='urn:etsi:osm:yang:augments:epa', defining_module='epa', yang_type='uint64', is_config=True)

8866

8867

8868 def _get_reserve(self):

8869 """

8870 Getter method for reserve, mapped from YANG variable /vnfd/virtual_storage_desc/disk_io_quota/reserve (uint64)

8871

8872 YANG Description: Defines the guaranteed minimum reservation.

8873 If needed, the machine will definitely get allocated the reserved amount of resources.

8874 """

8875 return self.__reserve

8876

8877 def _set_reserve(self, v, load=False):

8878 """

8879 Setter method for reserve, mapped from YANG variable /vnfd/virtual_storage_desc/disk_io_quota/reserve (uint64)

8880 If this variable is read-only (config: false) in the

8881 source YANG file, then _set_reserve is considered as a private

8882 method. Backends looking to populate this variable should

8883 do so via calling thisObj._set_reserve() directly.

8884

8885 YANG Description: Defines the guaranteed minimum reservation.

8886 If needed, the machine will definitely get allocated the reserved amount of resources.

8887 """

8888 if hasattr(v, "_utype"):

8889 v = v._utype(v)

8890 try:

8891 t = YANGDynClass(v,base=RestrictedClassType(base_type=long, restriction_dict={'range': ['0..18446744073709551615']}, int_size=64), is_leaf=True, yang_name="reserve", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='urn:etsi:osm:yang:augments:epa', defining_module='epa', yang_type='uint64', is_config=True)

8892 except (TypeError, ValueError):

8893 raise ValueError({

8894 'error-string': """reserve must be of a type compatible with uint64""",

8895 'defined-type': "uint64",

8896 'generated-type': """YANGDynClass(base=RestrictedClassType(base_type=long, restriction_dict={'range': ['0..18446744073709551615']}, int_size=64), is_leaf=True, yang_name="reserve", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='urn:etsi:osm:yang:augments:epa', defining_module='epa', yang_type='uint64', is_config=True)""",

8897 })

8898

8899 self.__reserve = t

8900 if hasattr(self, '_set'):

8901 self._set()

8902

8903 def _unset_reserve(self):

8904 self.__reserve = YANGDynClass(base=RestrictedClassType(base_type=long, restriction_dict={'range': ['0..18446744073709551615']}, int_size=64), is_leaf=True, yang_name="reserve", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='urn:etsi:osm:yang:augments:epa', defining_module='epa', yang_type='uint64', is_config=True)

8905

8906

8907 def _get_shares(self):

8908 """

8909 Getter method for shares, mapped from YANG variable /vnfd/virtual_storage_desc/disk_io_quota/shares (uint64)

8910

8911 YANG Description: Number of shares allocated.

8912 Specifies the proportional weighted share for the domain.

8913 If this element is omitted, the service defaults to the OS provided defaults

8914 """

8915 return self.__shares

8916

8917 def _set_shares(self, v, load=False):

8918 """

8919 Setter method for shares, mapped from YANG variable /vnfd/virtual_storage_desc/disk_io_quota/shares (uint64)

8920 If this variable is read-only (config: false) in the

8921 source YANG file, then _set_shares is considered as a private

8922 method. Backends looking to populate this variable should

8923 do so via calling thisObj._set_shares() directly.

8924

8925 YANG Description: Number of shares allocated.

8926 Specifies the proportional weighted share for the domain.

8927 If this element is omitted, the service defaults to the OS provided defaults

8928 """

8929 if hasattr(v, "_utype"):

8930 v = v._utype(v)

8931 try:

8932 t = YANGDynClass(v,base=RestrictedClassType(base_type=long, restriction_dict={'range': ['0..18446744073709551615']}, int_size=64), is_leaf=True, yang_name="shares", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='urn:etsi:osm:yang:augments:epa', defining_module='epa', yang_type='uint64', is_config=True)

8933 except (TypeError, ValueError):

8934 raise ValueError({

8935 'error-string': """shares must be of a type compatible with uint64""",

8936 'defined-type': "uint64",

8937 'generated-type': """YANGDynClass(base=RestrictedClassType(base_type=long, restriction_dict={'range': ['0..18446744073709551615']}, int_size=64), is_leaf=True, yang_name="shares", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='urn:etsi:osm:yang:augments:epa', defining_module='epa', yang_type='uint64', is_config=True)""",

8938 })

8939

8940 self.__shares = t

8941 if hasattr(self, '_set'):

8942 self._set()

8943

8944 def _unset_shares(self):

8945 self.__shares = YANGDynClass(base=RestrictedClassType(base_type=long, restriction_dict={'range': ['0..18446744073709551615']}, int_size=64), is_leaf=True, yang_name="shares", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='urn:etsi:osm:yang:augments:epa', defining_module='epa', yang_type='uint64', is_config=True)

8946

8947 limit = __builtin__.property(_get_limit, _set_limit)

8948 reserve = __builtin__.property(_get_reserve, _set_reserve)

8949 shares = __builtin__.property(_get_shares, _set_shares)

8950

8951

8952 _pyangbind_elements = OrderedDict([('limit', limit), ('reserve', reserve), ('shares', shares), ])

8953

8954

8955 class yc_virtual_storage_desc_etsi_nfv_vnfd__vnfd_virtual_storage_desc(PybindBase):

8956 """

8957 This class was auto-generated by the PythonClass plugin for PYANG

8958 from YANG module etsi-nfv-vnfd - based on the path /vnfd/virtual-storage-desc. Each member element of

8959 the container is represented as a class variable - with a specific

8960 YANG type.

8961

8962 YANG Description: Storage requirements for a Virtual Storage instance

8963 attached to the VNFC created from this VDU

8964 """

8965 __slots__ = ('_path_helper', '_extmethods', '__id','__type_of_storage','__size_of_storage','__vdu_storage_requirements','__rdma_enabled','__sw_image_desc','__description','__disk_io_quota','__device_bus',)

8966

8967 _yang_name = 'virtual-storage-desc'

8968 _yang_namespace = 'urn:etsi:nfv:yang:etsi-nfv-vnfd'

8969

8970 _pybind_generated_by = 'container'

8971

8972 def __init__(self, *args, **kwargs):

8973

8974 self._path_helper = False

8975

8976 self._extmethods = False

8977 self.__id = YANGDynClass(base=str, is_leaf=True, yang_name="id", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, is_keyval=True, namespace='urn:etsi:nfv:yang:etsi-nfv-vnfd', defining_module='etsi-nfv-vnfd', yang_type='string', is_config=True)

8978 self.__type_of_storage = YANGDynClass(base=RestrictedClassType(base_type=str, restriction_type="dict_key", restriction_arg={'root-storage': {'@module': 'etsi-nfv-descriptors', '@namespace': 'urn:etsi:nfv:yang:etsi-nfv-descriptors'}, 'etsi-nfv-descriptors:root-storage': {'@module': 'etsi-nfv-descriptors', '@namespace': 'urn:etsi:nfv:yang:etsi-nfv-descriptors'}, 'nfv:root-storage': {'@module': 'etsi-nfv-descriptors', '@namespace': 'urn:etsi:nfv:yang:etsi-nfv-descriptors'}, 'descriptors:root-storage': {'@module': 'etsi-nfv-descriptors', '@namespace': 'urn:etsi:nfv:yang:etsi-nfv-descriptors'}, 'vnf:root-storage': {'@module': 'etsi-nfv-descriptors', '@namespace': 'urn:etsi:nfv:yang:etsi-nfv-descriptors'}, 'swap-storage': {'@module': 'etsi-nfv-descriptors', '@namespace': 'urn:etsi:nfv:yang:etsi-nfv-descriptors'}, 'etsi-nfv-descriptors:swap-storage': {'@module': 'etsi-nfv-descriptors', '@namespace': 'urn:etsi:nfv:yang:etsi-nfv-descriptors'}, 'nfv:swap-storage': {'@module': 'etsi-nfv-descriptors', '@namespace': 'urn:etsi:nfv:yang:etsi-nfv-descriptors'}, 'descriptors:swap-storage': {'@module': 'etsi-nfv-descriptors', '@namespace': 'urn:etsi:nfv:yang:etsi-nfv-descriptors'}, 'vnf:swap-storage': {'@module': 'etsi-nfv-descriptors', '@namespace': 'urn:etsi:nfv:yang:etsi-nfv-descriptors'}, 'ephemeral-storage': {'@module': 'etsi-nfv-descriptors', '@namespace': 'urn:etsi:nfv:yang:etsi-nfv-descriptors'}, 'etsi-nfv-descriptors:ephemeral-storage': {'@module': 'etsi-nfv-descriptors', '@namespace': 'urn:etsi:nfv:yang:etsi-nfv-descriptors'}, 'nfv:ephemeral-storage': {'@module': 'etsi-nfv-descriptors', '@namespace': 'urn:etsi:nfv:yang:etsi-nfv-descriptors'}, 'descriptors:ephemeral-storage': {'@module': 'etsi-nfv-descriptors', '@namespace': 'urn:etsi:nfv:yang:etsi-nfv-descriptors'}, 'vnf:ephemeral-storage': {'@module': 'etsi-nfv-descriptors', '@namespace': 'urn:etsi:nfv:yang:etsi-nfv-descriptors'}, 'persistent-storage': {'@module': 'persistent-storage', '@namespace': 'urn:etsi:osm:yang:augments:persistent-storage'}, 'persistent-storage:persistent-storage': {'@module': 'persistent-storage', '@namespace': 'urn:etsi:osm:yang:augments:persistent-storage'}},), default=str("root-storage"), is_leaf=True, yang_name="type-of-storage", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='urn:etsi:nfv:yang:etsi-nfv-vnfd', defining_module='etsi-nfv-vnfd', yang_type='identityref', is_config=True)

8979 self.__size_of_storage = 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="size-of-storage", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='urn:etsi:nfv:yang:etsi-nfv-vnfd', defining_module='etsi-nfv-vnfd', yang_type='uint64', is_config=True)

8980 self.__vdu_storage_requirements = YANGDynClass(base=YANGListType("key",yc_vdu_storage_requirements_etsi_nfv_vnfd__vnfd_virtual_storage_desc_vdu_storage_requirements, yang_name="vdu-storage-requirements", parent=self, is_container='list', user_ordered=False, path_helper=self._path_helper, yang_keys='key', extensions=None), is_container='list', yang_name="vdu-storage-requirements", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, extensions=None, namespace='urn:etsi:nfv:yang:etsi-nfv-vnfd', defining_module='etsi-nfv-vnfd', yang_type='list', is_config=True)

8981 self.__rdma_enabled = YANGDynClass(base=YANGBool, is_leaf=True, yang_name="rdma-enabled", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='urn:etsi:nfv:yang:etsi-nfv-vnfd', defining_module='etsi-nfv-vnfd', yang_type='boolean', is_config=True)

8982 self.__sw_image_desc = YANGDynClass(base=str, is_leaf=True, yang_name="sw-image-desc", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='urn:etsi:nfv:yang:etsi-nfv-vnfd', defining_module='etsi-nfv-vnfd', yang_type='leafref', is_config=True)

8983 self.__description = YANGDynClass(base=str, is_leaf=True, yang_name="description", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='urn:etsi:osm:yang:augments:additional-info', defining_module='additional-info', yang_type='string', is_config=True)

8984 self.__disk_io_quota = YANGDynClass(base=yc_disk_io_quota_etsi_nfv_vnfd__vnfd_virtual_storage_desc_disk_io_quota, is_container='container', yang_name="disk-io-quota", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, extensions=None, namespace='urn:etsi:osm:yang:augments:epa', defining_module='epa', yang_type='container', is_config=True)

8985 self.__device_bus = YANGDynClass(base=RestrictedClassType(base_type=str, restriction_type="dict_key", restriction_arg={'ide': {}, 'usb': {}, 'virtio': {}, 'scsi': {}},), is_leaf=True, yang_name="device-bus", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='urn:etsi:osm:yang:augments:various', defining_module='various', yang_type='enumeration', is_config=True)

8986

8987 load = kwargs.pop("load", None)

8988 if args:

8989 if len(args) > 1:

8990 raise TypeError("cannot create a YANG container with >1 argument")

8991 all_attr = True

8992 for e in self._pyangbind_elements:

8993 if not hasattr(args[0], e):

8994 all_attr = False

8995 break

8996 if not all_attr:

8997 raise ValueError("Supplied object did not have the correct attributes")

8998 for e in self._pyangbind_elements:

8999 nobj = getattr(args[0], e)

9000 if nobj._changed() is False:

9001 continue

9002 setmethod = getattr(self, "_set_%s" % e)

9003 if load is None:

9004 setmethod(getattr(args[0], e))

9005 else:

9006 setmethod(getattr(args[0], e), load=load)

9007

9008 def _path(self):

9009 if hasattr(self, "_parent"):

9010 return self._parent._path()+[self._yang_name]

9011 else:

9012 return ['vnfd', 'virtual-storage-desc']

9013

9014 def _get_id(self):

9015 """

9016 Getter method for id, mapped from YANG variable /vnfd/virtual_storage_desc/id (string)

9017

9018 YANG Description: Unique identifier of this VirtualStorageDesc in the

9019 VNFD.

9020 """

9021 return self.__id

9022

9023 def _set_id(self, v, load=False):

9024 """

9025 Setter method for id, mapped from YANG variable /vnfd/virtual_storage_desc/id (string)

9026 If this variable is read-only (config: false) in the

9027 source YANG file, then _set_id is considered as a private

9028 method. Backends looking to populate this variable should

9029 do so via calling thisObj._set_id() directly.

9030

9031 YANG Description: Unique identifier of this VirtualStorageDesc in the

9032 VNFD.

9033 """

9034 parent = getattr(self, "_parent", None)

9035 if parent is not None and load is False:

9036 raise AttributeError("Cannot set keys directly when" +

9037 " within an instantiated list")

9038

9039 if hasattr(v, "_utype"):

9040 v = v._utype(v)

9041 try:

9042 t = YANGDynClass(v,base=str, is_leaf=True, yang_name="id", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, is_keyval=True, namespace='urn:etsi:nfv:yang:etsi-nfv-vnfd', defining_module='etsi-nfv-vnfd', yang_type='string', is_config=True)

9043 except (TypeError, ValueError):

9044 raise ValueError({

9045 'error-string': """id must be of a type compatible with string""",

9046 'defined-type': "string",

9047 'generated-type': """YANGDynClass(base=str, is_leaf=True, yang_name="id", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, is_keyval=True, namespace='urn:etsi:nfv:yang:etsi-nfv-vnfd', defining_module='etsi-nfv-vnfd', yang_type='string', is_config=True)""",

9048 })

9049

9050 self.__id = t

9051 if hasattr(self, '_set'):

9052 self._set()

9053

9054 def _unset_id(self):

9055 self.__id = YANGDynClass(base=str, is_leaf=True, yang_name="id", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, is_keyval=True, namespace='urn:etsi:nfv:yang:etsi-nfv-vnfd', defining_module='etsi-nfv-vnfd', yang_type='string', is_config=True)

9056

9057

9058 def _get_type_of_storage(self):

9059 """

9060 Getter method for type_of_storage, mapped from YANG variable /vnfd/virtual_storage_desc/type_of_storage (identityref)

9061

9062 YANG Description: Type of virtualised storage resource (e.g. volume,

9063 object).

9064 """

9065 return self.__type_of_storage

9066

9067 def _set_type_of_storage(self, v, load=False):

9068 """

9069 Setter method for type_of_storage, mapped from YANG variable /vnfd/virtual_storage_desc/type_of_storage (identityref)

9070 If this variable is read-only (config: false) in the

9071 source YANG file, then _set_type_of_storage is considered as a private

9072 method. Backends looking to populate this variable should

9073 do so via calling thisObj._set_type_of_storage() directly.

9074

9075 YANG Description: Type of virtualised storage resource (e.g. volume,

9076 object).

9077 """

9078 if hasattr(v, "_utype"):

9079 v = v._utype(v)

9080 try:

9081 t = YANGDynClass(v,base=RestrictedClassType(base_type=str, restriction_type="dict_key", restriction_arg={'root-storage': {'@module': 'etsi-nfv-descriptors', '@namespace': 'urn:etsi:nfv:yang:etsi-nfv-descriptors'}, 'etsi-nfv-descriptors:root-storage': {'@module': 'etsi-nfv-descriptors', '@namespace': 'urn:etsi:nfv:yang:etsi-nfv-descriptors'}, 'nfv:root-storage': {'@module': 'etsi-nfv-descriptors', '@namespace': 'urn:etsi:nfv:yang:etsi-nfv-descriptors'}, 'descriptors:root-storage': {'@module': 'etsi-nfv-descriptors', '@namespace': 'urn:etsi:nfv:yang:etsi-nfv-descriptors'}, 'vnf:root-storage': {'@module': 'etsi-nfv-descriptors', '@namespace': 'urn:etsi:nfv:yang:etsi-nfv-descriptors'}, 'swap-storage': {'@module': 'etsi-nfv-descriptors', '@namespace': 'urn:etsi:nfv:yang:etsi-nfv-descriptors'}, 'etsi-nfv-descriptors:swap-storage': {'@module': 'etsi-nfv-descriptors', '@namespace': 'urn:etsi:nfv:yang:etsi-nfv-descriptors'}, 'nfv:swap-storage': {'@module': 'etsi-nfv-descriptors', '@namespace': 'urn:etsi:nfv:yang:etsi-nfv-descriptors'}, 'descriptors:swap-storage': {'@module': 'etsi-nfv-descriptors', '@namespace': 'urn:etsi:nfv:yang:etsi-nfv-descriptors'}, 'vnf:swap-storage': {'@module': 'etsi-nfv-descriptors', '@namespace': 'urn:etsi:nfv:yang:etsi-nfv-descriptors'}, 'ephemeral-storage': {'@module': 'etsi-nfv-descriptors', '@namespace': 'urn:etsi:nfv:yang:etsi-nfv-descriptors'}, 'etsi-nfv-descriptors:ephemeral-storage': {'@module': 'etsi-nfv-descriptors', '@namespace': 'urn:etsi:nfv:yang:etsi-nfv-descriptors'}, 'nfv:ephemeral-storage': {'@module': 'etsi-nfv-descriptors', '@namespace': 'urn:etsi:nfv:yang:etsi-nfv-descriptors'}, 'descriptors:ephemeral-storage': {'@module': 'etsi-nfv-descriptors', '@namespace': 'urn:etsi:nfv:yang:etsi-nfv-descriptors'}, 'vnf:ephemeral-storage': {'@module': 'etsi-nfv-descriptors', '@namespace': 'urn:etsi:nfv:yang:etsi-nfv-descriptors'}, 'persistent-storage': {'@module': 'persistent-storage', '@namespace': 'urn:etsi:osm:yang:augments:persistent-storage'}, 'persistent-storage:persistent-storage': {'@module': 'persistent-storage', '@namespace': 'urn:etsi:osm:yang:augments:persistent-storage'}},), default=str("root-storage"), is_leaf=True, yang_name="type-of-storage", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='urn:etsi:nfv:yang:etsi-nfv-vnfd', defining_module='etsi-nfv-vnfd', yang_type='identityref', is_config=True)

9082 except (TypeError, ValueError):

9083 raise ValueError({

9084 'error-string': """type_of_storage must be of a type compatible with identityref""",

9085 'defined-type': "etsi-nfv-vnfd:identityref",

9086 'generated-type': """YANGDynClass(base=RestrictedClassType(base_type=str, restriction_type="dict_key", restriction_arg={'root-storage': {'@module': 'etsi-nfv-descriptors', '@namespace': 'urn:etsi:nfv:yang:etsi-nfv-descriptors'}, 'etsi-nfv-descriptors:root-storage': {'@module': 'etsi-nfv-descriptors', '@namespace': 'urn:etsi:nfv:yang:etsi-nfv-descriptors'}, 'nfv:root-storage': {'@module': 'etsi-nfv-descriptors', '@namespace': 'urn:etsi:nfv:yang:etsi-nfv-descriptors'}, 'descriptors:root-storage': {'@module': 'etsi-nfv-descriptors', '@namespace': 'urn:etsi:nfv:yang:etsi-nfv-descriptors'}, 'vnf:root-storage': {'@module': 'etsi-nfv-descriptors', '@namespace': 'urn:etsi:nfv:yang:etsi-nfv-descriptors'}, 'swap-storage': {'@module': 'etsi-nfv-descriptors', '@namespace': 'urn:etsi:nfv:yang:etsi-nfv-descriptors'}, 'etsi-nfv-descriptors:swap-storage': {'@module': 'etsi-nfv-descriptors', '@namespace': 'urn:etsi:nfv:yang:etsi-nfv-descriptors'}, 'nfv:swap-storage': {'@module': 'etsi-nfv-descriptors', '@namespace': 'urn:etsi:nfv:yang:etsi-nfv-descriptors'}, 'descriptors:swap-storage': {'@module': 'etsi-nfv-descriptors', '@namespace': 'urn:etsi:nfv:yang:etsi-nfv-descriptors'}, 'vnf:swap-storage': {'@module': 'etsi-nfv-descriptors', '@namespace': 'urn:etsi:nfv:yang:etsi-nfv-descriptors'}, 'ephemeral-storage': {'@module': 'etsi-nfv-descriptors', '@namespace': 'urn:etsi:nfv:yang:etsi-nfv-descriptors'}, 'etsi-nfv-descriptors:ephemeral-storage': {'@module': 'etsi-nfv-descriptors', '@namespace': 'urn:etsi:nfv:yang:etsi-nfv-descriptors'}, 'nfv:ephemeral-storage': {'@module': 'etsi-nfv-descriptors', '@namespace': 'urn:etsi:nfv:yang:etsi-nfv-descriptors'}, 'descriptors:ephemeral-storage': {'@module': 'etsi-nfv-descriptors', '@namespace': 'urn:etsi:nfv:yang:etsi-nfv-descriptors'}, 'vnf:ephemeral-storage': {'@module': 'etsi-nfv-descriptors', '@namespace': 'urn:etsi:nfv:yang:etsi-nfv-descriptors'}, 'persistent-storage': {'@module': 'persistent-storage', '@namespace': 'urn:etsi:osm:yang:augments:persistent-storage'}, 'persistent-storage:persistent-storage': {'@module': 'persistent-storage', '@namespace': 'urn:etsi:osm:yang:augments:persistent-storage'}},), default=str("root-storage"), is_leaf=True, yang_name="type-of-storage", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='urn:etsi:nfv:yang:etsi-nfv-vnfd', defining_module='etsi-nfv-vnfd', yang_type='identityref', is_config=True)""",

9087 })

9088

9089 self.__type_of_storage = t

9090 if hasattr(self, '_set'):

9091 self._set()

9092

9093 def _unset_type_of_storage(self):

9094 self.__type_of_storage = YANGDynClass(base=RestrictedClassType(base_type=str, restriction_type="dict_key", restriction_arg={'root-storage': {'@module': 'etsi-nfv-descriptors', '@namespace': 'urn:etsi:nfv:yang:etsi-nfv-descriptors'}, 'etsi-nfv-descriptors:root-storage': {'@module': 'etsi-nfv-descriptors', '@namespace': 'urn:etsi:nfv:yang:etsi-nfv-descriptors'}, 'nfv:root-storage': {'@module': 'etsi-nfv-descriptors', '@namespace': 'urn:etsi:nfv:yang:etsi-nfv-descriptors'}, 'descriptors:root-storage': {'@module': 'etsi-nfv-descriptors', '@namespace': 'urn:etsi:nfv:yang:etsi-nfv-descriptors'}, 'vnf:root-storage': {'@module': 'etsi-nfv-descriptors', '@namespace': 'urn:etsi:nfv:yang:etsi-nfv-descriptors'}, 'swap-storage': {'@module': 'etsi-nfv-descriptors', '@namespace': 'urn:etsi:nfv:yang:etsi-nfv-descriptors'}, 'etsi-nfv-descriptors:swap-storage': {'@module': 'etsi-nfv-descriptors', '@namespace': 'urn:etsi:nfv:yang:etsi-nfv-descriptors'}, 'nfv:swap-storage': {'@module': 'etsi-nfv-descriptors', '@namespace': 'urn:etsi:nfv:yang:etsi-nfv-descriptors'}, 'descriptors:swap-storage': {'@module': 'etsi-nfv-descriptors', '@namespace': 'urn:etsi:nfv:yang:etsi-nfv-descriptors'}, 'vnf:swap-storage': {'@module': 'etsi-nfv-descriptors', '@namespace': 'urn:etsi:nfv:yang:etsi-nfv-descriptors'}, 'ephemeral-storage': {'@module': 'etsi-nfv-descriptors', '@namespace': 'urn:etsi:nfv:yang:etsi-nfv-descriptors'}, 'etsi-nfv-descriptors:ephemeral-storage': {'@module': 'etsi-nfv-descriptors', '@namespace': 'urn:etsi:nfv:yang:etsi-nfv-descriptors'}, 'nfv:ephemeral-storage': {'@module': 'etsi-nfv-descriptors', '@namespace': 'urn:etsi:nfv:yang:etsi-nfv-descriptors'}, 'descriptors:ephemeral-storage': {'@module': 'etsi-nfv-descriptors', '@namespace': 'urn:etsi:nfv:yang:etsi-nfv-descriptors'}, 'vnf:ephemeral-storage': {'@module': 'etsi-nfv-descriptors', '@namespace': 'urn:etsi:nfv:yang:etsi-nfv-descriptors'}, 'persistent-storage': {'@module': 'persistent-storage', '@namespace': 'urn:etsi:osm:yang:augments:persistent-storage'}, 'persistent-storage:persistent-storage': {'@module': 'persistent-storage', '@namespace': 'urn:etsi:osm:yang:augments:persistent-storage'}},), default=str("root-storage"), is_leaf=True, yang_name="type-of-storage", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='urn:etsi:nfv:yang:etsi-nfv-vnfd', defining_module='etsi-nfv-vnfd', yang_type='identityref', is_config=True)

9095

9096

9097 def _get_size_of_storage(self):

9098 """

9099 Getter method for size_of_storage, mapped from YANG variable /vnfd/virtual_storage_desc/size_of_storage (uint64)

9100

9101 YANG Description: Size of virtualised storage resource (e.g. size of

9102 volume, in GB)

9103 """

9104 return self.__size_of_storage

9105

9106 def _set_size_of_storage(self, v, load=False):

9107 """

9108 Setter method for size_of_storage, mapped from YANG variable /vnfd/virtual_storage_desc/size_of_storage (uint64)

9109 If this variable is read-only (config: false) in the

9110 source YANG file, then _set_size_of_storage is considered as a private

9111 method. Backends looking to populate this variable should

9112 do so via calling thisObj._set_size_of_storage() directly.

9113

9114 YANG Description: Size of virtualised storage resource (e.g. size of

9115 volume, in GB)

9116 """

9117 if hasattr(v, "_utype"):

9118 v = v._utype(v)

9119 try:

9120 t = YANGDynClass(v,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="size-of-storage", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='urn:etsi:nfv:yang:etsi-nfv-vnfd', defining_module='etsi-nfv-vnfd', yang_type='uint64', is_config=True)

9121 except (TypeError, ValueError):

9122 raise ValueError({

9123 'error-string': """size_of_storage must be of a type compatible with uint64""",

9124 'defined-type': "uint64",

9125 'generated-type': """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="size-of-storage", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='urn:etsi:nfv:yang:etsi-nfv-vnfd', defining_module='etsi-nfv-vnfd', yang_type='uint64', is_config=True)""",

9126 })

9127

9128 self.__size_of_storage = t

9129 if hasattr(self, '_set'):

9130 self._set()

9131

9132 def _unset_size_of_storage(self):

9133 self.__size_of_storage = 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="size-of-storage", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='urn:etsi:nfv:yang:etsi-nfv-vnfd', defining_module='etsi-nfv-vnfd', yang_type='uint64', is_config=True)

9134

9135

9136 def _get_vdu_storage_requirements(self):

9137 """

9138 Getter method for vdu_storage_requirements, mapped from YANG variable /vnfd/virtual_storage_desc/vdu_storage_requirements (list)

9139

9140 YANG Description: Array of key-value pairs that articulate the storage

9141 deployment requirements.

9142 """

9143 return self.__vdu_storage_requirements

9144

9145 def _set_vdu_storage_requirements(self, v, load=False):

9146 """

9147 Setter method for vdu_storage_requirements, mapped from YANG variable /vnfd/virtual_storage_desc/vdu_storage_requirements (list)

9148 If this variable is read-only (config: false) in the

9149 source YANG file, then _set_vdu_storage_requirements is considered as a private

9150 method. Backends looking to populate this variable should

9151 do so via calling thisObj._set_vdu_storage_requirements() directly.

9152

9153 YANG Description: Array of key-value pairs that articulate the storage

9154 deployment requirements.

9155 """

9156 if hasattr(v, "_utype"):

9157 v = v._utype(v)

9158 try:

9159 t = YANGDynClass(v,base=YANGListType("key",yc_vdu_storage_requirements_etsi_nfv_vnfd__vnfd_virtual_storage_desc_vdu_storage_requirements, yang_name="vdu-storage-requirements", parent=self, is_container='list', user_ordered=False, path_helper=self._path_helper, yang_keys='key', extensions=None), is_container='list', yang_name="vdu-storage-requirements", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, extensions=None, namespace='urn:etsi:nfv:yang:etsi-nfv-vnfd', defining_module='etsi-nfv-vnfd', yang_type='list', is_config=True)

9160 except (TypeError, ValueError):

9161 raise ValueError({

9162 'error-string': """vdu_storage_requirements must be of a type compatible with list""",

9163 'defined-type': "list",

9164 'generated-type': """YANGDynClass(base=YANGListType("key",yc_vdu_storage_requirements_etsi_nfv_vnfd__vnfd_virtual_storage_desc_vdu_storage_requirements, yang_name="vdu-storage-requirements", parent=self, is_container='list', user_ordered=False, path_helper=self._path_helper, yang_keys='key', extensions=None), is_container='list', yang_name="vdu-storage-requirements", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, extensions=None, namespace='urn:etsi:nfv:yang:etsi-nfv-vnfd', defining_module='etsi-nfv-vnfd', yang_type='list', is_config=True)""",

9165 })

9166

9167 self.__vdu_storage_requirements = t

9168 if hasattr(self, '_set'):

9169 self._set()

9170

9171 def _unset_vdu_storage_requirements(self):

9172 self.__vdu_storage_requirements = YANGDynClass(base=YANGListType("key",yc_vdu_storage_requirements_etsi_nfv_vnfd__vnfd_virtual_storage_desc_vdu_storage_requirements, yang_name="vdu-storage-requirements", parent=self, is_container='list', user_ordered=False, path_helper=self._path_helper, yang_keys='key', extensions=None), is_container='list', yang_name="vdu-storage-requirements", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, extensions=None, namespace='urn:etsi:nfv:yang:etsi-nfv-vnfd', defining_module='etsi-nfv-vnfd', yang_type='list', is_config=True)

9173

9174

9175 def _get_rdma_enabled(self):

9176 """

9177 Getter method for rdma_enabled, mapped from YANG variable /vnfd/virtual_storage_desc/rdma_enabled (boolean)

9178

9179 YANG Description: Indicate if the storage support RDMA.

9180 """

9181 return self.__rdma_enabled

9182

9183 def _set_rdma_enabled(self, v, load=False):

9184 """

9185 Setter method for rdma_enabled, mapped from YANG variable /vnfd/virtual_storage_desc/rdma_enabled (boolean)

9186 If this variable is read-only (config: false) in the

9187 source YANG file, then _set_rdma_enabled is considered as a private

9188 method. Backends looking to populate this variable should

9189 do so via calling thisObj._set_rdma_enabled() directly.

9190

9191 YANG Description: Indicate if the storage support RDMA.

9192 """

9193 if hasattr(v, "_utype"):

9194 v = v._utype(v)

9195 try:

9196 t = YANGDynClass(v,base=YANGBool, is_leaf=True, yang_name="rdma-enabled", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='urn:etsi:nfv:yang:etsi-nfv-vnfd', defining_module='etsi-nfv-vnfd', yang_type='boolean', is_config=True)

9197 except (TypeError, ValueError):

9198 raise ValueError({

9199 'error-string': """rdma_enabled must be of a type compatible with boolean""",

9200 'defined-type': "boolean",

9201 'generated-type': """YANGDynClass(base=YANGBool, is_leaf=True, yang_name="rdma-enabled", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='urn:etsi:nfv:yang:etsi-nfv-vnfd', defining_module='etsi-nfv-vnfd', yang_type='boolean', is_config=True)""",

9202 })

9203

9204 self.__rdma_enabled = t

9205 if hasattr(self, '_set'):

9206 self._set()

9207

9208 def _unset_rdma_enabled(self):

9209 self.__rdma_enabled = YANGDynClass(base=YANGBool, is_leaf=True, yang_name="rdma-enabled", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='urn:etsi:nfv:yang:etsi-nfv-vnfd', defining_module='etsi-nfv-vnfd', yang_type='boolean', is_config=True)

9210

9211

9212 def _get_sw_image_desc(self):

9213 """

9214 Getter method for sw_image_desc, mapped from YANG variable /vnfd/virtual_storage_desc/sw_image_desc (leafref)

9215

9216 YANG Description: Software image to be loaded on the VirtualStorage

9217 resource created based on this VirtualStorageDesc.

9218 """

9219 return self.__sw_image_desc

9220

9221 def _set_sw_image_desc(self, v, load=False):

9222 """

9223 Setter method for sw_image_desc, mapped from YANG variable /vnfd/virtual_storage_desc/sw_image_desc (leafref)

9224 If this variable is read-only (config: false) in the

9225 source YANG file, then _set_sw_image_desc is considered as a private

9226 method. Backends looking to populate this variable should

9227 do so via calling thisObj._set_sw_image_desc() directly.

9228

9229 YANG Description: Software image to be loaded on the VirtualStorage

9230 resource created based on this VirtualStorageDesc.

9231 """

9232 if hasattr(v, "_utype"):

9233 v = v._utype(v)

9234 try:

9235 t = YANGDynClass(v,base=str, is_leaf=True, yang_name="sw-image-desc", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='urn:etsi:nfv:yang:etsi-nfv-vnfd', defining_module='etsi-nfv-vnfd', yang_type='leafref', is_config=True)

9236 except (TypeError, ValueError):

9237 raise ValueError({

9238 'error-string': """sw_image_desc must be of a type compatible with leafref""",

9239 'defined-type': "leafref",

9240 'generated-type': """YANGDynClass(base=str, is_leaf=True, yang_name="sw-image-desc", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='urn:etsi:nfv:yang:etsi-nfv-vnfd', defining_module='etsi-nfv-vnfd', yang_type='leafref', is_config=True)""",

9241 })

9242

9243 self.__sw_image_desc = t

9244 if hasattr(self, '_set'):

9245 self._set()

9246

9247 def _unset_sw_image_desc(self):

9248 self.__sw_image_desc = YANGDynClass(base=str, is_leaf=True, yang_name="sw-image-desc", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='urn:etsi:nfv:yang:etsi-nfv-vnfd', defining_module='etsi-nfv-vnfd', yang_type='leafref', is_config=True)

9249

9250

9251 def _get_description(self):

9252 """

9253 Getter method for description, mapped from YANG variable /vnfd/virtual_storage_desc/description (string)

9254 """

9255 return self.__description

9256

9257 def _set_description(self, v, load=False):

9258 """

9259 Setter method for description, mapped from YANG variable /vnfd/virtual_storage_desc/description (string)

9260 If this variable is read-only (config: false) in the

9261 source YANG file, then _set_description is considered as a private

9262 method. Backends looking to populate this variable should

9263 do so via calling thisObj._set_description() directly.

9264 """

9265 if hasattr(v, "_utype"):

9266 v = v._utype(v)

9267 try:

9268 t = YANGDynClass(v,base=str, is_leaf=True, yang_name="description", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='urn:etsi:osm:yang:augments:additional-info', defining_module='additional-info', yang_type='string', is_config=True)

9269 except (TypeError, ValueError):

9270 raise ValueError({

9271 'error-string': """description must be of a type compatible with string""",

9272 'defined-type': "string",

9273 'generated-type': """YANGDynClass(base=str, is_leaf=True, yang_name="description", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='urn:etsi:osm:yang:augments:additional-info', defining_module='additional-info', yang_type='string', is_config=True)""",

9274 })

9275

9276 self.__description = t

9277 if hasattr(self, '_set'):

9278 self._set()

9279

9280 def _unset_description(self):

9281 self.__description = YANGDynClass(base=str, is_leaf=True, yang_name="description", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='urn:etsi:osm:yang:augments:additional-info', defining_module='additional-info', yang_type='string', is_config=True)

9282

9283

9284 def _get_disk_io_quota(self):

9285 """

9286 Getter method for disk_io_quota, mapped from YANG variable /vnfd/virtual_storage_desc/disk_io_quota (container)

9287

9288 YANG Description: Disk IO quota describes the disk IO operations resource allocation policy.

9289 Limit and Reserve values are defined in IOPS

9290 """

9291 return self.__disk_io_quota

9292

9293 def _set_disk_io_quota(self, v, load=False):

9294 """

9295 Setter method for disk_io_quota, mapped from YANG variable /vnfd/virtual_storage_desc/disk_io_quota (container)

9296 If this variable is read-only (config: false) in the

9297 source YANG file, then _set_disk_io_quota is considered as a private

9298 method. Backends looking to populate this variable should

9299 do so via calling thisObj._set_disk_io_quota() directly.

9300

9301 YANG Description: Disk IO quota describes the disk IO operations resource allocation policy.

9302 Limit and Reserve values are defined in IOPS

9303 """

9304 if hasattr(v, "_utype"):

9305 v = v._utype(v)

9306 try:

9307 t = YANGDynClass(v,base=yc_disk_io_quota_etsi_nfv_vnfd__vnfd_virtual_storage_desc_disk_io_quota, is_container='container', yang_name="disk-io-quota", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, extensions=None, namespace='urn:etsi:osm:yang:augments:epa', defining_module='epa', yang_type='container', is_config=True)

9308 except (TypeError, ValueError):

9309 raise ValueError({

9310 'error-string': """disk_io_quota must be of a type compatible with container""",

9311 'defined-type': "container",

9312 'generated-type': """YANGDynClass(base=yc_disk_io_quota_etsi_nfv_vnfd__vnfd_virtual_storage_desc_disk_io_quota, is_container='container', yang_name="disk-io-quota", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, extensions=None, namespace='urn:etsi:osm:yang:augments:epa', defining_module='epa', yang_type='container', is_config=True)""",

9313 })

9314

9315 self.__disk_io_quota = t

9316 if hasattr(self, '_set'):

9317 self._set()

9318

9319 def _unset_disk_io_quota(self):

9320 self.__disk_io_quota = YANGDynClass(base=yc_disk_io_quota_etsi_nfv_vnfd__vnfd_virtual_storage_desc_disk_io_quota, is_container='container', yang_name="disk-io-quota", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, extensions=None, namespace='urn:etsi:osm:yang:augments:epa', defining_module='epa', yang_type='container', is_config=True)

9321

9322

9323 def _get_device_bus(self):

9324 """

9325 Getter method for device_bus, mapped from YANG variable /vnfd/virtual_storage_desc/device_bus (enumeration)

9326

9327 YANG Description: Type of disk-bus on which this disk is exposed to guest

9328 """

9329 return self.__device_bus

9330

9331 def _set_device_bus(self, v, load=False):

9332 """

9333 Setter method for device_bus, mapped from YANG variable /vnfd/virtual_storage_desc/device_bus (enumeration)

9334 If this variable is read-only (config: false) in the

9335 source YANG file, then _set_device_bus is considered as a private

9336 method. Backends looking to populate this variable should

9337 do so via calling thisObj._set_device_bus() directly.

9338

9339 YANG Description: Type of disk-bus on which this disk is exposed to guest

9340 """

9341 if hasattr(v, "_utype"):

9342 v = v._utype(v)

9343 try:

9344 t = YANGDynClass(v,base=RestrictedClassType(base_type=str, restriction_type="dict_key", restriction_arg={'ide': {}, 'usb': {}, 'virtio': {}, 'scsi': {}},), is_leaf=True, yang_name="device-bus", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='urn:etsi:osm:yang:augments:various', defining_module='various', yang_type='enumeration', is_config=True)

9345 except (TypeError, ValueError):

9346 raise ValueError({

9347 'error-string': """device_bus must be of a type compatible with enumeration""",

9348 'defined-type': "various:enumeration",

9349 'generated-type': """YANGDynClass(base=RestrictedClassType(base_type=str, restriction_type="dict_key", restriction_arg={'ide': {}, 'usb': {}, 'virtio': {}, 'scsi': {}},), is_leaf=True, yang_name="device-bus", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='urn:etsi:osm:yang:augments:various', defining_module='various', yang_type='enumeration', is_config=True)""",

9350 })

9351

9352 self.__device_bus = t

9353 if hasattr(self, '_set'):

9354 self._set()

9355

9356 def _unset_device_bus(self):

9357 self.__device_bus = YANGDynClass(base=RestrictedClassType(base_type=str, restriction_type="dict_key", restriction_arg={'ide': {}, 'usb': {}, 'virtio': {}, 'scsi': {}},), is_leaf=True, yang_name="device-bus", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='urn:etsi:osm:yang:augments:various', defining_module='various', yang_type='enumeration', is_config=True)

9358

9359 id = __builtin__.property(_get_id, _set_id)

9360 type_of_storage = __builtin__.property(_get_type_of_storage, _set_type_of_storage)

9361 size_of_storage = __builtin__.property(_get_size_of_storage, _set_size_of_storage)

9362 vdu_storage_requirements = __builtin__.property(_get_vdu_storage_requirements, _set_vdu_storage_requirements)

9363 rdma_enabled = __builtin__.property(_get_rdma_enabled, _set_rdma_enabled)

9364 sw_image_desc = __builtin__.property(_get_sw_image_desc, _set_sw_image_desc)

9365 description = __builtin__.property(_get_description, _set_description)

9366 disk_io_quota = __builtin__.property(_get_disk_io_quota, _set_disk_io_quota)

9367 device_bus = __builtin__.property(_get_device_bus, _set_device_bus)

9368

9369

9370 _pyangbind_elements = OrderedDict([('id', id), ('type_of_storage', type_of_storage), ('size_of_storage', size_of_storage), ('vdu_storage_requirements', vdu_storage_requirements), ('rdma_enabled', rdma_enabled), ('sw_image_desc', sw_image_desc), ('description', description), ('disk_io_quota', disk_io_quota), ('device_bus', device_bus), ])

9371

9372

9373 class yc_checksum_etsi_nfv_vnfd__vnfd_sw_image_desc_checksum(PybindBase):

9374 """

9375 This class was auto-generated by the PythonClass plugin for PYANG

9376 from YANG module etsi-nfv-vnfd - based on the path /vnfd/sw-image-desc/checksum. Each member element of

9377 the container is represented as a class variable - with a specific

9378 YANG type.

9379

9380 YANG Description: The checksum of the software image file.

9381 """

9382 __slots__ = ('_path_helper', '_extmethods', '__algorithm','__hash',)

9383

9384 _yang_name = 'checksum'

9385 _yang_namespace = 'urn:etsi:nfv:yang:etsi-nfv-vnfd'

9386

9387 _pybind_generated_by = 'container'

9388

9389 def __init__(self, *args, **kwargs):

9390

9391 self._path_helper = False

9392

9393 self._extmethods = False

9394 self.__algorithm = YANGDynClass(base=RestrictedClassType(base_type=str, restriction_type="dict_key", restriction_arg={'sha-224': {'@module': 'etsi-nfv-descriptors', '@namespace': 'urn:etsi:nfv:yang:etsi-nfv-descriptors'}, 'etsi-nfv-descriptors:sha-224': {'@module': 'etsi-nfv-descriptors', '@namespace': 'urn:etsi:nfv:yang:etsi-nfv-descriptors'}, 'nfv:sha-224': {'@module': 'etsi-nfv-descriptors', '@namespace': 'urn:etsi:nfv:yang:etsi-nfv-descriptors'}, 'descriptors:sha-224': {'@module': 'etsi-nfv-descriptors', '@namespace': 'urn:etsi:nfv:yang:etsi-nfv-descriptors'}, 'vnf:sha-224': {'@module': 'etsi-nfv-descriptors', '@namespace': 'urn:etsi:nfv:yang:etsi-nfv-descriptors'}, 'sha-256': {'@module': 'etsi-nfv-descriptors', '@namespace': 'urn:etsi:nfv:yang:etsi-nfv-descriptors'}, 'etsi-nfv-descriptors:sha-256': {'@module': 'etsi-nfv-descriptors', '@namespace': 'urn:etsi:nfv:yang:etsi-nfv-descriptors'}, 'nfv:sha-256': {'@module': 'etsi-nfv-descriptors', '@namespace': 'urn:etsi:nfv:yang:etsi-nfv-descriptors'}, 'descriptors:sha-256': {'@module': 'etsi-nfv-descriptors', '@namespace': 'urn:etsi:nfv:yang:etsi-nfv-descriptors'}, 'vnf:sha-256': {'@module': 'etsi-nfv-descriptors', '@namespace': 'urn:etsi:nfv:yang:etsi-nfv-descriptors'}, 'sha-384': {'@module': 'etsi-nfv-descriptors', '@namespace': 'urn:etsi:nfv:yang:etsi-nfv-descriptors'}, 'etsi-nfv-descriptors:sha-384': {'@module': 'etsi-nfv-descriptors', '@namespace': 'urn:etsi:nfv:yang:etsi-nfv-descriptors'}, 'nfv:sha-384': {'@module': 'etsi-nfv-descriptors', '@namespace': 'urn:etsi:nfv:yang:etsi-nfv-descriptors'}, 'descriptors:sha-384': {'@module': 'etsi-nfv-descriptors', '@namespace': 'urn:etsi:nfv:yang:etsi-nfv-descriptors'}, 'vnf:sha-384': {'@module': 'etsi-nfv-descriptors', '@namespace': 'urn:etsi:nfv:yang:etsi-nfv-descriptors'}, 'sha-512': {'@module': 'etsi-nfv-descriptors', '@namespace': 'urn:etsi:nfv:yang:etsi-nfv-descriptors'}, 'etsi-nfv-descriptors:sha-512': {'@module': 'etsi-nfv-descriptors', '@namespace': 'urn:etsi:nfv:yang:etsi-nfv-descriptors'}, 'nfv:sha-512': {'@module': 'etsi-nfv-descriptors', '@namespace': 'urn:etsi:nfv:yang:etsi-nfv-descriptors'}, 'descriptors:sha-512': {'@module': 'etsi-nfv-descriptors', '@namespace': 'urn:etsi:nfv:yang:etsi-nfv-descriptors'}, 'vnf:sha-512': {'@module': 'etsi-nfv-descriptors', '@namespace': 'urn:etsi:nfv:yang:etsi-nfv-descriptors'}},), is_leaf=True, yang_name="algorithm", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='urn:etsi:nfv:yang:etsi-nfv-vnfd', defining_module='etsi-nfv-vnfd', yang_type='identityref', is_config=True)

9395 self.__hash = YANGDynClass(base=str, is_leaf=True, yang_name="hash", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='urn:etsi:nfv:yang:etsi-nfv-vnfd', defining_module='etsi-nfv-vnfd', yang_type='string', is_config=True)

9396

9397 load = kwargs.pop("load", None)

9398 if args:

9399 if len(args) > 1:

9400 raise TypeError("cannot create a YANG container with >1 argument")

9401 all_attr = True

9402 for e in self._pyangbind_elements:

9403 if not hasattr(args[0], e):

9404 all_attr = False

9405 break

9406 if not all_attr:

9407 raise ValueError("Supplied object did not have the correct attributes")

9408 for e in self._pyangbind_elements:

9409 nobj = getattr(args[0], e)

9410 if nobj._changed() is False:

9411 continue

9412 setmethod = getattr(self, "_set_%s" % e)

9413 if load is None:

9414 setmethod(getattr(args[0], e))

9415 else:

9416 setmethod(getattr(args[0], e), load=load)

9417

9418 def _path(self):

9419 if hasattr(self, "_parent"):

9420 return self._parent._path()+[self._yang_name]

9421 else:

9422 return ['vnfd', 'sw-image-desc', 'checksum']

9423

9424 def _get_algorithm(self):

9425 """

9426 Getter method for algorithm, mapped from YANG variable /vnfd/sw_image_desc/checksum/algorithm (identityref)

9427

9428 YANG Description: Species the algorithm used to obtain the checksum

9429 value.

9430 """

9431 return self.__algorithm

9432

9433 def _set_algorithm(self, v, load=False):

9434 """

9435 Setter method for algorithm, mapped from YANG variable /vnfd/sw_image_desc/checksum/algorithm (identityref)

9436 If this variable is read-only (config: false) in the

9437 source YANG file, then _set_algorithm is considered as a private

9438 method. Backends looking to populate this variable should

9439 do so via calling thisObj._set_algorithm() directly.

9440

9441 YANG Description: Species the algorithm used to obtain the checksum

9442 value.

9443 """

9444 if hasattr(v, "_utype"):

9445 v = v._utype(v)

9446 try:

9447 t = YANGDynClass(v,base=RestrictedClassType(base_type=str, restriction_type="dict_key", restriction_arg={'sha-224': {'@module': 'etsi-nfv-descriptors', '@namespace': 'urn:etsi:nfv:yang:etsi-nfv-descriptors'}, 'etsi-nfv-descriptors:sha-224': {'@module': 'etsi-nfv-descriptors', '@namespace': 'urn:etsi:nfv:yang:etsi-nfv-descriptors'}, 'nfv:sha-224': {'@module': 'etsi-nfv-descriptors', '@namespace': 'urn:etsi:nfv:yang:etsi-nfv-descriptors'}, 'descriptors:sha-224': {'@module': 'etsi-nfv-descriptors', '@namespace': 'urn:etsi:nfv:yang:etsi-nfv-descriptors'}, 'vnf:sha-224': {'@module': 'etsi-nfv-descriptors', '@namespace': 'urn:etsi:nfv:yang:etsi-nfv-descriptors'}, 'sha-256': {'@module': 'etsi-nfv-descriptors', '@namespace': 'urn:etsi:nfv:yang:etsi-nfv-descriptors'}, 'etsi-nfv-descriptors:sha-256': {'@module': 'etsi-nfv-descriptors', '@namespace': 'urn:etsi:nfv:yang:etsi-nfv-descriptors'}, 'nfv:sha-256': {'@module': 'etsi-nfv-descriptors', '@namespace': 'urn:etsi:nfv:yang:etsi-nfv-descriptors'}, 'descriptors:sha-256': {'@module': 'etsi-nfv-descriptors', '@namespace': 'urn:etsi:nfv:yang:etsi-nfv-descriptors'}, 'vnf:sha-256': {'@module': 'etsi-nfv-descriptors', '@namespace': 'urn:etsi:nfv:yang:etsi-nfv-descriptors'}, 'sha-384': {'@module': 'etsi-nfv-descriptors', '@namespace': 'urn:etsi:nfv:yang:etsi-nfv-descriptors'}, 'etsi-nfv-descriptors:sha-384': {'@module': 'etsi-nfv-descriptors', '@namespace': 'urn:etsi:nfv:yang:etsi-nfv-descriptors'}, 'nfv:sha-384': {'@module': 'etsi-nfv-descriptors', '@namespace': 'urn:etsi:nfv:yang:etsi-nfv-descriptors'}, 'descriptors:sha-384': {'@module': 'etsi-nfv-descriptors', '@namespace': 'urn:etsi:nfv:yang:etsi-nfv-descriptors'}, 'vnf:sha-384': {'@module': 'etsi-nfv-descriptors', '@namespace': 'urn:etsi:nfv:yang:etsi-nfv-descriptors'}, 'sha-512': {'@module': 'etsi-nfv-descriptors', '@namespace': 'urn:etsi:nfv:yang:etsi-nfv-descriptors'}, 'etsi-nfv-descriptors:sha-512': {'@module': 'etsi-nfv-descriptors', '@namespace': 'urn:etsi:nfv:yang:etsi-nfv-descriptors'}, 'nfv:sha-512': {'@module': 'etsi-nfv-descriptors', '@namespace': 'urn:etsi:nfv:yang:etsi-nfv-descriptors'}, 'descriptors:sha-512': {'@module': 'etsi-nfv-descriptors', '@namespace': 'urn:etsi:nfv:yang:etsi-nfv-descriptors'}, 'vnf:sha-512': {'@module': 'etsi-nfv-descriptors', '@namespace': 'urn:etsi:nfv:yang:etsi-nfv-descriptors'}},), is_leaf=True, yang_name="algorithm", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='urn:etsi:nfv:yang:etsi-nfv-vnfd', defining_module='etsi-nfv-vnfd', yang_type='identityref', is_config=True)

9448 except (TypeError, ValueError):

9449 raise ValueError({

9450 'error-string': """algorithm must be of a type compatible with identityref""",

9451 'defined-type': "etsi-nfv-vnfd:identityref",

9452 'generated-type': """YANGDynClass(base=RestrictedClassType(base_type=str, restriction_type="dict_key", restriction_arg={'sha-224': {'@module': 'etsi-nfv-descriptors', '@namespace': 'urn:etsi:nfv:yang:etsi-nfv-descriptors'}, 'etsi-nfv-descriptors:sha-224': {'@module': 'etsi-nfv-descriptors', '@namespace': 'urn:etsi:nfv:yang:etsi-nfv-descriptors'}, 'nfv:sha-224': {'@module': 'etsi-nfv-descriptors', '@namespace': 'urn:etsi:nfv:yang:etsi-nfv-descriptors'}, 'descriptors:sha-224': {'@module': 'etsi-nfv-descriptors', '@namespace': 'urn:etsi:nfv:yang:etsi-nfv-descriptors'}, 'vnf:sha-224': {'@module': 'etsi-nfv-descriptors', '@namespace': 'urn:etsi:nfv:yang:etsi-nfv-descriptors'}, 'sha-256': {'@module': 'etsi-nfv-descriptors', '@namespace': 'urn:etsi:nfv:yang:etsi-nfv-descriptors'}, 'etsi-nfv-descriptors:sha-256': {'@module': 'etsi-nfv-descriptors', '@namespace': 'urn:etsi:nfv:yang:etsi-nfv-descriptors'}, 'nfv:sha-256': {'@module': 'etsi-nfv-descriptors', '@namespace': 'urn:etsi:nfv:yang:etsi-nfv-descriptors'}, 'descriptors:sha-256': {'@module': 'etsi-nfv-descriptors', '@namespace': 'urn:etsi:nfv:yang:etsi-nfv-descriptors'}, 'vnf:sha-256': {'@module': 'etsi-nfv-descriptors', '@namespace': 'urn:etsi:nfv:yang:etsi-nfv-descriptors'}, 'sha-384': {'@module': 'etsi-nfv-descriptors', '@namespace': 'urn:etsi:nfv:yang:etsi-nfv-descriptors'}, 'etsi-nfv-descriptors:sha-384': {'@module': 'etsi-nfv-descriptors', '@namespace': 'urn:etsi:nfv:yang:etsi-nfv-descriptors'}, 'nfv:sha-384': {'@module': 'etsi-nfv-descriptors', '@namespace': 'urn:etsi:nfv:yang:etsi-nfv-descriptors'}, 'descriptors:sha-384': {'@module': 'etsi-nfv-descriptors', '@namespace': 'urn:etsi:nfv:yang:etsi-nfv-descriptors'}, 'vnf:sha-384': {'@module': 'etsi-nfv-descriptors', '@namespace': 'urn:etsi:nfv:yang:etsi-nfv-descriptors'}, 'sha-512': {'@module': 'etsi-nfv-descriptors', '@namespace': 'urn:etsi:nfv:yang:etsi-nfv-descriptors'}, 'etsi-nfv-descriptors:sha-512': {'@module': 'etsi-nfv-descriptors', '@namespace': 'urn:etsi:nfv:yang:etsi-nfv-descriptors'}, 'nfv:sha-512': {'@module': 'etsi-nfv-descriptors', '@namespace': 'urn:etsi:nfv:yang:etsi-nfv-descriptors'}, 'descriptors:sha-512': {'@module': 'etsi-nfv-descriptors', '@namespace': 'urn:etsi:nfv:yang:etsi-nfv-descriptors'}, 'vnf:sha-512': {'@module': 'etsi-nfv-descriptors', '@namespace': 'urn:etsi:nfv:yang:etsi-nfv-descriptors'}},), is_leaf=True, yang_name="algorithm", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='urn:etsi:nfv:yang:etsi-nfv-vnfd', defining_module='etsi-nfv-vnfd', yang_type='identityref', is_config=True)""",

9453 })

9454

9455 self.__algorithm = t

9456 if hasattr(self, '_set'):

9457 self._set()

9458

9459 def _unset_algorithm(self):

9460 self.__algorithm = YANGDynClass(base=RestrictedClassType(base_type=str, restriction_type="dict_key", restriction_arg={'sha-224': {'@module': 'etsi-nfv-descriptors', '@namespace': 'urn:etsi:nfv:yang:etsi-nfv-descriptors'}, 'etsi-nfv-descriptors:sha-224': {'@module': 'etsi-nfv-descriptors', '@namespace': 'urn:etsi:nfv:yang:etsi-nfv-descriptors'}, 'nfv:sha-224': {'@module': 'etsi-nfv-descriptors', '@namespace': 'urn:etsi:nfv:yang:etsi-nfv-descriptors'}, 'descriptors:sha-224': {'@module': 'etsi-nfv-descriptors', '@namespace': 'urn:etsi:nfv:yang:etsi-nfv-descriptors'}, 'vnf:sha-224': {'@module': 'etsi-nfv-descriptors', '@namespace': 'urn:etsi:nfv:yang:etsi-nfv-descriptors'}, 'sha-256': {'@module': 'etsi-nfv-descriptors', '@namespace': 'urn:etsi:nfv:yang:etsi-nfv-descriptors'}, 'etsi-nfv-descriptors:sha-256': {'@module': 'etsi-nfv-descriptors', '@namespace': 'urn:etsi:nfv:yang:etsi-nfv-descriptors'}, 'nfv:sha-256': {'@module': 'etsi-nfv-descriptors', '@namespace': 'urn:etsi:nfv:yang:etsi-nfv-descriptors'}, 'descriptors:sha-256': {'@module': 'etsi-nfv-descriptors', '@namespace': 'urn:etsi:nfv:yang:etsi-nfv-descriptors'}, 'vnf:sha-256': {'@module': 'etsi-nfv-descriptors', '@namespace': 'urn:etsi:nfv:yang:etsi-nfv-descriptors'}, 'sha-384': {'@module': 'etsi-nfv-descriptors', '@namespace': 'urn:etsi:nfv:yang:etsi-nfv-descriptors'}, 'etsi-nfv-descriptors:sha-384': {'@module': 'etsi-nfv-descriptors', '@namespace': 'urn:etsi:nfv:yang:etsi-nfv-descriptors'}, 'nfv:sha-384': {'@module': 'etsi-nfv-descriptors', '@namespace': 'urn:etsi:nfv:yang:etsi-nfv-descriptors'}, 'descriptors:sha-384': {'@module': 'etsi-nfv-descriptors', '@namespace': 'urn:etsi:nfv:yang:etsi-nfv-descriptors'}, 'vnf:sha-384': {'@module': 'etsi-nfv-descriptors', '@namespace': 'urn:etsi:nfv:yang:etsi-nfv-descriptors'}, 'sha-512': {'@module': 'etsi-nfv-descriptors', '@namespace': 'urn:etsi:nfv:yang:etsi-nfv-descriptors'}, 'etsi-nfv-descriptors:sha-512': {'@module': 'etsi-nfv-descriptors', '@namespace': 'urn:etsi:nfv:yang:etsi-nfv-descriptors'}, 'nfv:sha-512': {'@module': 'etsi-nfv-descriptors', '@namespace': 'urn:etsi:nfv:yang:etsi-nfv-descriptors'}, 'descriptors:sha-512': {'@module': 'etsi-nfv-descriptors', '@namespace': 'urn:etsi:nfv:yang:etsi-nfv-descriptors'}, 'vnf:sha-512': {'@module': 'etsi-nfv-descriptors', '@namespace': 'urn:etsi:nfv:yang:etsi-nfv-descriptors'}},), is_leaf=True, yang_name="algorithm", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='urn:etsi:nfv:yang:etsi-nfv-vnfd', defining_module='etsi-nfv-vnfd', yang_type='identityref', is_config=True)

9461

9462

9463 def _get_hash(self):

9464 """

9465 Getter method for hash, mapped from YANG variable /vnfd/sw_image_desc/checksum/hash (string)

9466

9467 YANG Description: Contains the result of applying the algorithm

9468 indicated by the algorithm attribute to the data to

9469 which this ChecksumData refers.

9470 """

9471 return self.__hash

9472

9473 def _set_hash(self, v, load=False):

9474 """

9475 Setter method for hash, mapped from YANG variable /vnfd/sw_image_desc/checksum/hash (string)

9476 If this variable is read-only (config: false) in the

9477 source YANG file, then _set_hash is considered as a private

9478 method. Backends looking to populate this variable should

9479 do so via calling thisObj._set_hash() directly.

9480

9481 YANG Description: Contains the result of applying the algorithm

9482 indicated by the algorithm attribute to the data to

9483 which this ChecksumData refers.

9484 """

9485 if hasattr(v, "_utype"):

9486 v = v._utype(v)

9487 try:

9488 t = YANGDynClass(v,base=str, is_leaf=True, yang_name="hash", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='urn:etsi:nfv:yang:etsi-nfv-vnfd', defining_module='etsi-nfv-vnfd', yang_type='string', is_config=True)

9489 except (TypeError, ValueError):

9490 raise ValueError({

9491 'error-string': """hash must be of a type compatible with string""",

9492 'defined-type': "string",

9493 'generated-type': """YANGDynClass(base=str, is_leaf=True, yang_name="hash", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='urn:etsi:nfv:yang:etsi-nfv-vnfd', defining_module='etsi-nfv-vnfd', yang_type='string', is_config=True)""",

9494 })

9495

9496 self.__hash = t

9497 if hasattr(self, '_set'):

9498 self._set()

9499

9500 def _unset_hash(self):

9501 self.__hash = YANGDynClass(base=str, is_leaf=True, yang_name="hash", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='urn:etsi:nfv:yang:etsi-nfv-vnfd', defining_module='etsi-nfv-vnfd', yang_type='string', is_config=True)

9502

9503 algorithm = __builtin__.property(_get_algorithm, _set_algorithm)

9504 hash = __builtin__.property(_get_hash, _set_hash)

9505

9506

9507 _pyangbind_elements = OrderedDict([('algorithm', algorithm), ('hash', hash), ])

9508

9509

9510 class yc_sw_image_desc_etsi_nfv_vnfd__vnfd_sw_image_desc(PybindBase):

9511 """

9512 This class was auto-generated by the PythonClass plugin for PYANG

9513 from YANG module etsi-nfv-vnfd - based on the path /vnfd/sw-image-desc. Each member element of

9514 the container is represented as a class variable - with a specific

9515 YANG type.

9516

9517 YANG Description: Defines descriptors of software images to be used by the

9518 VNF.

9519 """

9520 __slots__ = ('_path_helper', '_extmethods', '__id','__name','__version','__checksum','__container_format','__disk_format','__min_disk','__min_ram','__size','__image','__operating_system','__supported_virtualization_environment','__vim_type',)

9521

9522 _yang_name = 'sw-image-desc'

9523 _yang_namespace = 'urn:etsi:nfv:yang:etsi-nfv-vnfd'

9524

9525 _pybind_generated_by = 'container'

9526

9527 def __init__(self, *args, **kwargs):

9528

9529 self._path_helper = False

9530

9531 self._extmethods = False

9532 self.__id = YANGDynClass(base=str, is_leaf=True, yang_name="id", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, is_keyval=True, namespace='urn:etsi:nfv:yang:etsi-nfv-vnfd', defining_module='etsi-nfv-vnfd', yang_type='string', is_config=True)

9533 self.__name = YANGDynClass(base=str, is_leaf=True, yang_name="name", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='urn:etsi:nfv:yang:etsi-nfv-vnfd', defining_module='etsi-nfv-vnfd', yang_type='string', is_config=True)

9534 self.__version = YANGDynClass(base=str, is_leaf=True, yang_name="version", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='urn:etsi:nfv:yang:etsi-nfv-vnfd', defining_module='etsi-nfv-vnfd', yang_type='string', is_config=True)

9535 self.__checksum = YANGDynClass(base=yc_checksum_etsi_nfv_vnfd__vnfd_sw_image_desc_checksum, is_container='container', yang_name="checksum", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, extensions=None, namespace='urn:etsi:nfv:yang:etsi-nfv-vnfd', defining_module='etsi-nfv-vnfd', yang_type='container', is_config=True)

9536 self.__container_format = YANGDynClass(base=RestrictedClassType(base_type=str, restriction_type="dict_key", restriction_arg={'aki': {}, 'ami': {}, 'ari': {}, 'bare': {}, 'docker': {}, 'ova': {}, 'ovf': {}},), default=str("bare"), is_leaf=True, yang_name="container-format", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='urn:etsi:nfv:yang:etsi-nfv-vnfd', defining_module='etsi-nfv-vnfd', yang_type='enumeration', is_config=True)

9537 self.__disk_format = YANGDynClass(base=RestrictedClassType(base_type=str, restriction_type="dict_key", restriction_arg={'aki': {}, 'ami': {}, 'ari': {}, 'iso': {}, 'qcow2': {}, 'raw': {}, 'vdi': {}, 'vhd': {}, 'vhdx': {}, 'vmdk': {}},), default=str("qcow2"), is_leaf=True, yang_name="disk-format", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='urn:etsi:nfv:yang:etsi-nfv-vnfd', defining_module='etsi-nfv-vnfd', yang_type='enumeration', is_config=True)

9538 self.__min_disk = YANGDynClass(base=RestrictedClassType(base_type=long, restriction_dict={'range': ['0..18446744073709551615']}, int_size=64), is_leaf=True, yang_name="min-disk", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='urn:etsi:nfv:yang:etsi-nfv-vnfd', defining_module='etsi-nfv-vnfd', yang_type='uint64', is_config=True)

9539 self.__min_ram = YANGDynClass(base=RestrictedClassType(base_type=Decimal, restriction_dict={'range': ['0..max']}), default=Decimal(0), is_leaf=True, yang_name="min-ram", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='urn:etsi:nfv:yang:etsi-nfv-vnfd', defining_module='etsi-nfv-vnfd', yang_type='decimal64', is_config=True)

9540 self.__size = YANGDynClass(base=RestrictedClassType(base_type=long, restriction_dict={'range': ['0..18446744073709551615']}, int_size=64), is_leaf=True, yang_name="size", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='urn:etsi:nfv:yang:etsi-nfv-vnfd', defining_module='etsi-nfv-vnfd', yang_type='uint64', is_config=True)

9541 self.__image = YANGDynClass(base=str, default=str("."), is_leaf=True, yang_name="image", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='urn:etsi:nfv:yang:etsi-nfv-vnfd', defining_module='etsi-nfv-vnfd', yang_type='inet:uri', is_config=True)

9542 self.__operating_system = YANGDynClass(base=str, is_leaf=True, yang_name="operating-system", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='urn:etsi:nfv:yang:etsi-nfv-vnfd', defining_module='etsi-nfv-vnfd', yang_type='string', is_config=True)

9543 self.__supported_virtualization_environment = YANGDynClass(unique=True, base=TypedListType(allowed_type=str), is_leaf=False, yang_name="supported-virtualization-environment", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='urn:etsi:nfv:yang:etsi-nfv-vnfd', defining_module='etsi-nfv-vnfd', yang_type='string', is_config=True)

9544 self.__vim_type = YANGDynClass(base=str, is_leaf=True, yang_name="vim-type", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='urn:etsi:osm:yang:alternative-images', defining_module='alternative-images', yang_type='string', is_config=True)

9545

9546 load = kwargs.pop("load", None)

9547 if args:

9548 if len(args) > 1:

9549 raise TypeError("cannot create a YANG container with >1 argument")

9550 all_attr = True

9551 for e in self._pyangbind_elements:

9552 if not hasattr(args[0], e):

9553 all_attr = False

9554 break

9555 if not all_attr:

9556 raise ValueError("Supplied object did not have the correct attributes")

9557 for e in self._pyangbind_elements:

9558 nobj = getattr(args[0], e)

9559 if nobj._changed() is False:

9560 continue

9561 setmethod = getattr(self, "_set_%s" % e)

9562 if load is None:

9563 setmethod(getattr(args[0], e))

9564 else:

9565 setmethod(getattr(args[0], e), load=load)

9566

9567 def _path(self):

9568 if hasattr(self, "_parent"):

9569 return self._parent._path()+[self._yang_name]

9570 else:

9571 return ['vnfd', 'sw-image-desc']

9572

9573 def _get_id(self):

9574 """

9575 Getter method for id, mapped from YANG variable /vnfd/sw_image_desc/id (string)

9576

9577 YANG Description: The identifier of this software image.

9578 """

9579 return self.__id

9580

9581 def _set_id(self, v, load=False):

9582 """

9583 Setter method for id, mapped from YANG variable /vnfd/sw_image_desc/id (string)

9584 If this variable is read-only (config: false) in the

9585 source YANG file, then _set_id is considered as a private

9586 method. Backends looking to populate this variable should

9587 do so via calling thisObj._set_id() directly.

9588

9589 YANG Description: The identifier of this software image.

9590 """

9591 parent = getattr(self, "_parent", None)

9592 if parent is not None and load is False:

9593 raise AttributeError("Cannot set keys directly when" +

9594 " within an instantiated list")

9595

9596 if hasattr(v, "_utype"):

9597 v = v._utype(v)

9598 try:

9599 t = YANGDynClass(v,base=str, is_leaf=True, yang_name="id", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, is_keyval=True, namespace='urn:etsi:nfv:yang:etsi-nfv-vnfd', defining_module='etsi-nfv-vnfd', yang_type='string', is_config=True)

9600 except (TypeError, ValueError):

9601 raise ValueError({

9602 'error-string': """id must be of a type compatible with string""",

9603 'defined-type': "string",

9604 'generated-type': """YANGDynClass(base=str, is_leaf=True, yang_name="id", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, is_keyval=True, namespace='urn:etsi:nfv:yang:etsi-nfv-vnfd', defining_module='etsi-nfv-vnfd', yang_type='string', is_config=True)""",

9605 })

9606

9607 self.__id = t

9608 if hasattr(self, '_set'):

9609 self._set()

9610

9611 def _unset_id(self):

9612 self.__id = YANGDynClass(base=str, is_leaf=True, yang_name="id", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, is_keyval=True, namespace='urn:etsi:nfv:yang:etsi-nfv-vnfd', defining_module='etsi-nfv-vnfd', yang_type='string', is_config=True)

9613

9614

9615 def _get_name(self):

9616 """

9617 Getter method for name, mapped from YANG variable /vnfd/sw_image_desc/name (string)

9618

9619 YANG Description: The name of this software image.

9620 """

9621 return self.__name

9622

9623 def _set_name(self, v, load=False):

9624 """

9625 Setter method for name, mapped from YANG variable /vnfd/sw_image_desc/name (string)

9626 If this variable is read-only (config: false) in the

9627 source YANG file, then _set_name is considered as a private

9628 method. Backends looking to populate this variable should

9629 do so via calling thisObj._set_name() directly.

9630

9631 YANG Description: The name of this software image.

9632 """

9633 if hasattr(v, "_utype"):

9634 v = v._utype(v)

9635 try:

9636 t = YANGDynClass(v,base=str, is_leaf=True, yang_name="name", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='urn:etsi:nfv:yang:etsi-nfv-vnfd', defining_module='etsi-nfv-vnfd', yang_type='string', is_config=True)

9637 except (TypeError, ValueError):

9638 raise ValueError({

9639 'error-string': """name must be of a type compatible with string""",

9640 'defined-type': "string",

9641 'generated-type': """YANGDynClass(base=str, is_leaf=True, yang_name="name", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='urn:etsi:nfv:yang:etsi-nfv-vnfd', defining_module='etsi-nfv-vnfd', yang_type='string', is_config=True)""",

9642 })

9643

9644 self.__name = t

9645 if hasattr(self, '_set'):

9646 self._set()

9647

9648 def _unset_name(self):

9649 self.__name = YANGDynClass(base=str, is_leaf=True, yang_name="name", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='urn:etsi:nfv:yang:etsi-nfv-vnfd', defining_module='etsi-nfv-vnfd', yang_type='string', is_config=True)

9650

9651

9652 def _get_version(self):

9653 """

9654 Getter method for version, mapped from YANG variable /vnfd/sw_image_desc/version (string)

9655

9656 YANG Description: The version of this software image.

9657 """

9658 return self.__version

9659

9660 def _set_version(self, v, load=False):

9661 """

9662 Setter method for version, mapped from YANG variable /vnfd/sw_image_desc/version (string)

9663 If this variable is read-only (config: false) in the

9664 source YANG file, then _set_version is considered as a private

9665 method. Backends looking to populate this variable should

9666 do so via calling thisObj._set_version() directly.

9667

9668 YANG Description: The version of this software image.

9669 """

9670 if hasattr(v, "_utype"):

9671 v = v._utype(v)

9672 try:

9673 t = YANGDynClass(v,base=str, is_leaf=True, yang_name="version", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='urn:etsi:nfv:yang:etsi-nfv-vnfd', defining_module='etsi-nfv-vnfd', yang_type='string', is_config=True)

9674 except (TypeError, ValueError):

9675 raise ValueError({

9676 'error-string': """version must be of a type compatible with string""",

9677 'defined-type': "string",

9678 'generated-type': """YANGDynClass(base=str, is_leaf=True, yang_name="version", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='urn:etsi:nfv:yang:etsi-nfv-vnfd', defining_module='etsi-nfv-vnfd', yang_type='string', is_config=True)""",

9679 })

9680

9681 self.__version = t

9682 if hasattr(self, '_set'):

9683 self._set()

9684

9685 def _unset_version(self):

9686 self.__version = YANGDynClass(base=str, is_leaf=True, yang_name="version", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='urn:etsi:nfv:yang:etsi-nfv-vnfd', defining_module='etsi-nfv-vnfd', yang_type='string', is_config=True)

9687

9688

9689 def _get_checksum(self):

9690 """

9691 Getter method for checksum, mapped from YANG variable /vnfd/sw_image_desc/checksum (container)

9692

9693 YANG Description: The checksum of the software image file.

9694 """

9695 return self.__checksum

9696

9697 def _set_checksum(self, v, load=False):

9698 """

9699 Setter method for checksum, mapped from YANG variable /vnfd/sw_image_desc/checksum (container)

9700 If this variable is read-only (config: false) in the

9701 source YANG file, then _set_checksum is considered as a private

9702 method. Backends looking to populate this variable should

9703 do so via calling thisObj._set_checksum() directly.

9704

9705 YANG Description: The checksum of the software image file.

9706 """

9707 if hasattr(v, "_utype"):

9708 v = v._utype(v)

9709 try:

9710 t = YANGDynClass(v,base=yc_checksum_etsi_nfv_vnfd__vnfd_sw_image_desc_checksum, is_container='container', yang_name="checksum", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, extensions=None, namespace='urn:etsi:nfv:yang:etsi-nfv-vnfd', defining_module='etsi-nfv-vnfd', yang_type='container', is_config=True)

9711 except (TypeError, ValueError):

9712 raise ValueError({

9713 'error-string': """checksum must be of a type compatible with container""",

9714 'defined-type': "container",

9715 'generated-type': """YANGDynClass(base=yc_checksum_etsi_nfv_vnfd__vnfd_sw_image_desc_checksum, is_container='container', yang_name="checksum", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, extensions=None, namespace='urn:etsi:nfv:yang:etsi-nfv-vnfd', defining_module='etsi-nfv-vnfd', yang_type='container', is_config=True)""",

9716 })

9717

9718 self.__checksum = t

9719 if hasattr(self, '_set'):

9720 self._set()

9721

9722 def _unset_checksum(self):

9723 self.__checksum = YANGDynClass(base=yc_checksum_etsi_nfv_vnfd__vnfd_sw_image_desc_checksum, is_container='container', yang_name="checksum", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, extensions=None, namespace='urn:etsi:nfv:yang:etsi-nfv-vnfd', defining_module='etsi-nfv-vnfd', yang_type='container', is_config=True)

9724

9725

9726 def _get_container_format(self):

9727 """

9728 Getter method for container_format, mapped from YANG variable /vnfd/sw_image_desc/container_format (enumeration)

9729

9730 YANG Description: The container format describes the container file

9731 format in which software image is provided.

9732 """

9733 return self.__container_format

9734

9735 def _set_container_format(self, v, load=False):

9736 """

9737 Setter method for container_format, mapped from YANG variable /vnfd/sw_image_desc/container_format (enumeration)

9738 If this variable is read-only (config: false) in the

9739 source YANG file, then _set_container_format is considered as a private

9740 method. Backends looking to populate this variable should

9741 do so via calling thisObj._set_container_format() directly.

9742

9743 YANG Description: The container format describes the container file

9744 format in which software image is provided.

9745 """

9746 if hasattr(v, "_utype"):

9747 v = v._utype(v)

9748 try:

9749 t = YANGDynClass(v,base=RestrictedClassType(base_type=str, restriction_type="dict_key", restriction_arg={'aki': {}, 'ami': {}, 'ari': {}, 'bare': {}, 'docker': {}, 'ova': {}, 'ovf': {}},), default=str("bare"), is_leaf=True, yang_name="container-format", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='urn:etsi:nfv:yang:etsi-nfv-vnfd', defining_module='etsi-nfv-vnfd', yang_type='enumeration', is_config=True)

9750 except (TypeError, ValueError):

9751 raise ValueError({

9752 'error-string': """container_format must be of a type compatible with enumeration""",

9753 'defined-type': "etsi-nfv-vnfd:enumeration",

9754 'generated-type': """YANGDynClass(base=RestrictedClassType(base_type=str, restriction_type="dict_key", restriction_arg={'aki': {}, 'ami': {}, 'ari': {}, 'bare': {}, 'docker': {}, 'ova': {}, 'ovf': {}},), default=str("bare"), is_leaf=True, yang_name="container-format", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='urn:etsi:nfv:yang:etsi-nfv-vnfd', defining_module='etsi-nfv-vnfd', yang_type='enumeration', is_config=True)""",

9755 })

9756

9757 self.__container_format = t

9758 if hasattr(self, '_set'):

9759 self._set()

9760

9761 def _unset_container_format(self):

9762 self.__container_format = YANGDynClass(base=RestrictedClassType(base_type=str, restriction_type="dict_key", restriction_arg={'aki': {}, 'ami': {}, 'ari': {}, 'bare': {}, 'docker': {}, 'ova': {}, 'ovf': {}},), default=str("bare"), is_leaf=True, yang_name="container-format", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='urn:etsi:nfv:yang:etsi-nfv-vnfd', defining_module='etsi-nfv-vnfd', yang_type='enumeration', is_config=True)

9763

9764

9765 def _get_disk_format(self):

9766 """

9767 Getter method for disk_format, mapped from YANG variable /vnfd/sw_image_desc/disk_format (enumeration)

9768

9769 YANG Description: The disk format of a software image is the format of

9770 the underlying disk image.

9771 """

9772 return self.__disk_format

9773

9774 def _set_disk_format(self, v, load=False):

9775 """

9776 Setter method for disk_format, mapped from YANG variable /vnfd/sw_image_desc/disk_format (enumeration)

9777 If this variable is read-only (config: false) in the

9778 source YANG file, then _set_disk_format is considered as a private

9779 method. Backends looking to populate this variable should

9780 do so via calling thisObj._set_disk_format() directly.

9781

9782 YANG Description: The disk format of a software image is the format of

9783 the underlying disk image.

9784 """

9785 if hasattr(v, "_utype"):

9786 v = v._utype(v)

9787 try:

9788 t = YANGDynClass(v,base=RestrictedClassType(base_type=str, restriction_type="dict_key", restriction_arg={'aki': {}, 'ami': {}, 'ari': {}, 'iso': {}, 'qcow2': {}, 'raw': {}, 'vdi': {}, 'vhd': {}, 'vhdx': {}, 'vmdk': {}},), default=str("qcow2"), is_leaf=True, yang_name="disk-format", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='urn:etsi:nfv:yang:etsi-nfv-vnfd', defining_module='etsi-nfv-vnfd', yang_type='enumeration', is_config=True)

9789 except (TypeError, ValueError):

9790 raise ValueError({

9791 'error-string': """disk_format must be of a type compatible with enumeration""",

9792 'defined-type': "etsi-nfv-vnfd:enumeration",

9793 'generated-type': """YANGDynClass(base=RestrictedClassType(base_type=str, restriction_type="dict_key", restriction_arg={'aki': {}, 'ami': {}, 'ari': {}, 'iso': {}, 'qcow2': {}, 'raw': {}, 'vdi': {}, 'vhd': {}, 'vhdx': {}, 'vmdk': {}},), default=str("qcow2"), is_leaf=True, yang_name="disk-format", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='urn:etsi:nfv:yang:etsi-nfv-vnfd', defining_module='etsi-nfv-vnfd', yang_type='enumeration', is_config=True)""",

9794 })

9795

9796 self.__disk_format = t

9797 if hasattr(self, '_set'):

9798 self._set()

9799

9800 def _unset_disk_format(self):

9801 self.__disk_format = YANGDynClass(base=RestrictedClassType(base_type=str, restriction_type="dict_key", restriction_arg={'aki': {}, 'ami': {}, 'ari': {}, 'iso': {}, 'qcow2': {}, 'raw': {}, 'vdi': {}, 'vhd': {}, 'vhdx': {}, 'vmdk': {}},), default=str("qcow2"), is_leaf=True, yang_name="disk-format", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='urn:etsi:nfv:yang:etsi-nfv-vnfd', defining_module='etsi-nfv-vnfd', yang_type='enumeration', is_config=True)

9802

9803

9804 def _get_min_disk(self):

9805 """

9806 Getter method for min_disk, mapped from YANG variable /vnfd/sw_image_desc/min_disk (uint64)

9807

9808 YANG Description: The minimal disk size requirement for this software

9809 image. The value of the 'size of storage' attribute

9810 of the VirtualStorageDesc referencing this

9811 SwImageDesc shall not be smaller than the value of

9812 minDisk.

9813 """

9814 return self.__min_disk

9815

9816 def _set_min_disk(self, v, load=False):

9817 """

9818 Setter method for min_disk, mapped from YANG variable /vnfd/sw_image_desc/min_disk (uint64)

9819 If this variable is read-only (config: false) in the

9820 source YANG file, then _set_min_disk is considered as a private

9821 method. Backends looking to populate this variable should

9822 do so via calling thisObj._set_min_disk() directly.

9823

9824 YANG Description: The minimal disk size requirement for this software

9825 image. The value of the 'size of storage' attribute

9826 of the VirtualStorageDesc referencing this

9827 SwImageDesc shall not be smaller than the value of

9828 minDisk.

9829 """

9830 if hasattr(v, "_utype"):

9831 v = v._utype(v)

9832 try:

9833 t = YANGDynClass(v,base=RestrictedClassType(base_type=long, restriction_dict={'range': ['0..18446744073709551615']}, int_size=64), is_leaf=True, yang_name="min-disk", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='urn:etsi:nfv:yang:etsi-nfv-vnfd', defining_module='etsi-nfv-vnfd', yang_type='uint64', is_config=True)

9834 except (TypeError, ValueError):

9835 raise ValueError({

9836 'error-string': """min_disk must be of a type compatible with uint64""",

9837 'defined-type': "uint64",

9838 'generated-type': """YANGDynClass(base=RestrictedClassType(base_type=long, restriction_dict={'range': ['0..18446744073709551615']}, int_size=64), is_leaf=True, yang_name="min-disk", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='urn:etsi:nfv:yang:etsi-nfv-vnfd', defining_module='etsi-nfv-vnfd', yang_type='uint64', is_config=True)""",

9839 })

9840

9841 self.__min_disk = t

9842 if hasattr(self, '_set'):

9843 self._set()

9844

9845 def _unset_min_disk(self):

9846 self.__min_disk = YANGDynClass(base=RestrictedClassType(base_type=long, restriction_dict={'range': ['0..18446744073709551615']}, int_size=64), is_leaf=True, yang_name="min-disk", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='urn:etsi:nfv:yang:etsi-nfv-vnfd', defining_module='etsi-nfv-vnfd', yang_type='uint64', is_config=True)

9847

9848

9849 def _get_min_ram(self):

9850 """

9851 Getter method for min_ram, mapped from YANG variable /vnfd/sw_image_desc/min_ram (decimal64)

9852

9853 YANG Description: The minimal RAM requirement for this software image.

9854 The value of the 'size' attribute of

9855 VirtualMemoryData of the Vdu referencing this

9856 SwImageDesc shall not be smaller than the value of

9857 minRam.

9858 """

9859 return self.__min_ram

9860

9861 def _set_min_ram(self, v, load=False):

9862 """

9863 Setter method for min_ram, mapped from YANG variable /vnfd/sw_image_desc/min_ram (decimal64)

9864 If this variable is read-only (config: false) in the

9865 source YANG file, then _set_min_ram is considered as a private

9866 method. Backends looking to populate this variable should

9867 do so via calling thisObj._set_min_ram() directly.

9868

9869 YANG Description: The minimal RAM requirement for this software image.

9870 The value of the 'size' attribute of

9871 VirtualMemoryData of the Vdu referencing this

9872 SwImageDesc shall not be smaller than the value of

9873 minRam.

9874 """

9875 if hasattr(v, "_utype"):

9876 v = v._utype(v)

9877 try:

9878 t = YANGDynClass(v,base=RestrictedClassType(base_type=Decimal, restriction_dict={'range': ['0..max']}), default=Decimal(0), is_leaf=True, yang_name="min-ram", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='urn:etsi:nfv:yang:etsi-nfv-vnfd', defining_module='etsi-nfv-vnfd', yang_type='decimal64', is_config=True)

9879 except (TypeError, ValueError):

9880 raise ValueError({

9881 'error-string': """min_ram must be of a type compatible with decimal64""",

9882 'defined-type': "decimal64",

9883 'generated-type': """YANGDynClass(base=RestrictedClassType(base_type=Decimal, restriction_dict={'range': ['0..max']}), default=Decimal(0), is_leaf=True, yang_name="min-ram", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='urn:etsi:nfv:yang:etsi-nfv-vnfd', defining_module='etsi-nfv-vnfd', yang_type='decimal64', is_config=True)""",

9884 })

9885

9886 self.__min_ram = t

9887 if hasattr(self, '_set'):

9888 self._set()

9889

9890 def _unset_min_ram(self):

9891 self.__min_ram = YANGDynClass(base=RestrictedClassType(base_type=Decimal, restriction_dict={'range': ['0..max']}), default=Decimal(0), is_leaf=True, yang_name="min-ram", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='urn:etsi:nfv:yang:etsi-nfv-vnfd', defining_module='etsi-nfv-vnfd', yang_type='decimal64', is_config=True)

9892

9893

9894 def _get_size(self):

9895 """

9896 Getter method for size, mapped from YANG variable /vnfd/sw_image_desc/size (uint64)

9897

9898 YANG Description: The size of this software image.

9899 """

9900 return self.__size

9901

9902 def _set_size(self, v, load=False):

9903 """

9904 Setter method for size, mapped from YANG variable /vnfd/sw_image_desc/size (uint64)

9905 If this variable is read-only (config: false) in the

9906 source YANG file, then _set_size is considered as a private

9907 method. Backends looking to populate this variable should

9908 do so via calling thisObj._set_size() directly.

9909

9910 YANG Description: The size of this software image.

9911 """

9912 if hasattr(v, "_utype"):

9913 v = v._utype(v)

9914 try:

9915 t = YANGDynClass(v,base=RestrictedClassType(base_type=long, restriction_dict={'range': ['0..18446744073709551615']}, int_size=64), is_leaf=True, yang_name="size", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='urn:etsi:nfv:yang:etsi-nfv-vnfd', defining_module='etsi-nfv-vnfd', yang_type='uint64', is_config=True)

9916 except (TypeError, ValueError):

9917 raise ValueError({

9918 'error-string': """size must be of a type compatible with uint64""",

9919 'defined-type': "uint64",

9920 'generated-type': """YANGDynClass(base=RestrictedClassType(base_type=long, restriction_dict={'range': ['0..18446744073709551615']}, int_size=64), is_leaf=True, yang_name="size", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='urn:etsi:nfv:yang:etsi-nfv-vnfd', defining_module='etsi-nfv-vnfd', yang_type='uint64', is_config=True)""",

9921 })

9922

9923 self.__size = t

9924 if hasattr(self, '_set'):

9925 self._set()

9926

9927 def _unset_size(self):

9928 self.__size = YANGDynClass(base=RestrictedClassType(base_type=long, restriction_dict={'range': ['0..18446744073709551615']}, int_size=64), is_leaf=True, yang_name="size", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='urn:etsi:nfv:yang:etsi-nfv-vnfd', defining_module='etsi-nfv-vnfd', yang_type='uint64', is_config=True)

9929

9930

9931 def _get_image(self):

9932 """

9933 Getter method for image, mapped from YANG variable /vnfd/sw_image_desc/image (inet:uri)

9934

9935 YANG Description: This is a reference to the actual software image.

9936 The reference can be relative to the root of the VNF

9937 Package or can be a URL

9938 """

9939 return self.__image

9940

9941 def _set_image(self, v, load=False):

9942 """

9943 Setter method for image, mapped from YANG variable /vnfd/sw_image_desc/image (inet:uri)

9944 If this variable is read-only (config: false) in the

9945 source YANG file, then _set_image is considered as a private

9946 method. Backends looking to populate this variable should

9947 do so via calling thisObj._set_image() directly.

9948

9949 YANG Description: This is a reference to the actual software image.

9950 The reference can be relative to the root of the VNF

9951 Package or can be a URL

9952 """

9953 if hasattr(v, "_utype"):

9954 v = v._utype(v)

9955 try:

9956 t = YANGDynClass(v,base=str, default=str("."), is_leaf=True, yang_name="image", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='urn:etsi:nfv:yang:etsi-nfv-vnfd', defining_module='etsi-nfv-vnfd', yang_type='inet:uri', is_config=True)

9957 except (TypeError, ValueError):

9958 raise ValueError({

9959 'error-string': """image must be of a type compatible with inet:uri""",

9960 'defined-type': "inet:uri",

9961 'generated-type': """YANGDynClass(base=str, default=str("."), is_leaf=True, yang_name="image", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='urn:etsi:nfv:yang:etsi-nfv-vnfd', defining_module='etsi-nfv-vnfd', yang_type='inet:uri', is_config=True)""",

9962 })

9963

9964 self.__image = t

9965 if hasattr(self, '_set'):

9966 self._set()

9967

9968 def _unset_image(self):

9969 self.__image = YANGDynClass(base=str, default=str("."), is_leaf=True, yang_name="image", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='urn:etsi:nfv:yang:etsi-nfv-vnfd', defining_module='etsi-nfv-vnfd', yang_type='inet:uri', is_config=True)

9970

9971

9972 def _get_operating_system(self):

9973 """

9974 Getter method for operating_system, mapped from YANG variable /vnfd/sw_image_desc/operating_system (string)

9975

9976 YANG Description: Identifies the operating system used in the software

9977 image. This attribute may also identify if a 32 bit

9978 or 64 bit software image is used.

9979 """

9980 return self.__operating_system

9981

9982 def _set_operating_system(self, v, load=False):

9983 """

9984 Setter method for operating_system, mapped from YANG variable /vnfd/sw_image_desc/operating_system (string)

9985 If this variable is read-only (config: false) in the

9986 source YANG file, then _set_operating_system is considered as a private

9987 method. Backends looking to populate this variable should

9988 do so via calling thisObj._set_operating_system() directly.

9989

9990 YANG Description: Identifies the operating system used in the software

9991 image. This attribute may also identify if a 32 bit

9992 or 64 bit software image is used.

9993 """

9994 if hasattr(v, "_utype"):

9995 v = v._utype(v)

9996 try:

9997 t = YANGDynClass(v,base=str, is_leaf=True, yang_name="operating-system", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='urn:etsi:nfv:yang:etsi-nfv-vnfd', defining_module='etsi-nfv-vnfd', yang_type='string', is_config=True)

9998 except (TypeError, ValueError):

9999 raise ValueError({

10000 'error-string': """operating_system must be of a type compatible with string""",

10001 'defined-type': "string",

10002 'generated-type': """YANGDynClass(base=str, is_leaf=True, yang_name="operating-system", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='urn:etsi:nfv:yang:etsi-nfv-vnfd', defining_module='etsi-nfv-vnfd', yang_type='string', is_config=True)""",

10003 })

10004

10005 self.__operating_system = t

10006 if hasattr(self, '_set'):

10007 self._set()

10008

10009 def _unset_operating_system(self):

10010 self.__operating_system = YANGDynClass(base=str, is_leaf=True, yang_name="operating-system", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='urn:etsi:nfv:yang:etsi-nfv-vnfd', defining_module='etsi-nfv-vnfd', yang_type='string', is_config=True)

10011

10012

10013 def _get_supported_virtualization_environment(self):

10014 """

10015 Getter method for supported_virtualization_environment, mapped from YANG variable /vnfd/sw_image_desc/supported_virtualization_environment (string)

10016

10017 YANG Description: Identifies the virtualisation environments

10018(e.g. hypervisor) compatible with this software

10019 image.

10020 """

10021 return self.__supported_virtualization_environment

10022

10023 def _set_supported_virtualization_environment(self, v, load=False):

10024 """

10025 Setter method for supported_virtualization_environment, mapped from YANG variable /vnfd/sw_image_desc/supported_virtualization_environment (string)

10026 If this variable is read-only (config: false) in the

10027 source YANG file, then _set_supported_virtualization_environment is considered as a private

10028 method. Backends looking to populate this variable should

10029 do so via calling thisObj._set_supported_virtualization_environment() directly.

10030

10031 YANG Description: Identifies the virtualisation environments

10032(e.g. hypervisor) compatible with this software

10033 image.

10034 """

10035 if hasattr(v, "_utype"):

10036 v = v._utype(v)

10037 try:

10038 t = YANGDynClass(v,unique=True, base=TypedListType(allowed_type=str), is_leaf=False, yang_name="supported-virtualization-environment", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='urn:etsi:nfv:yang:etsi-nfv-vnfd', defining_module='etsi-nfv-vnfd', yang_type='string', is_config=True)

10039 except (TypeError, ValueError):

10040 raise ValueError({

10041 'error-string': """supported_virtualization_environment must be of a type compatible with string""",

10042 'defined-type': "string",

10043 'generated-type': """YANGDynClass(unique=True, base=TypedListType(allowed_type=str), is_leaf=False, yang_name="supported-virtualization-environment", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='urn:etsi:nfv:yang:etsi-nfv-vnfd', defining_module='etsi-nfv-vnfd', yang_type='string', is_config=True)""",

10044 })

10045

10046 self.__supported_virtualization_environment = t

10047 if hasattr(self, '_set'):

10048 self._set()

10049

10050 def _unset_supported_virtualization_environment(self):

10051 self.__supported_virtualization_environment = YANGDynClass(unique=True, base=TypedListType(allowed_type=str), is_leaf=False, yang_name="supported-virtualization-environment", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='urn:etsi:nfv:yang:etsi-nfv-vnfd', defining_module='etsi-nfv-vnfd', yang_type='string', is_config=True)

10052

10053

10054 def _get_vim_type(self):

10055 """

10056 Getter method for vim_type, mapped from YANG variable /vnfd/sw_image_desc/vim_type (string)

10057

10058 YANG Description: VIM type: openvim, openstack, vmware, aws, etc.

10059 """

10060 return self.__vim_type

10061

10062 def _set_vim_type(self, v, load=False):

10063 """

10064 Setter method for vim_type, mapped from YANG variable /vnfd/sw_image_desc/vim_type (string)

10065 If this variable is read-only (config: false) in the

10066 source YANG file, then _set_vim_type is considered as a private

10067 method. Backends looking to populate this variable should

10068 do so via calling thisObj._set_vim_type() directly.

10069

10070 YANG Description: VIM type: openvim, openstack, vmware, aws, etc.

10071 """

10072 if hasattr(v, "_utype"):

10073 v = v._utype(v)

10074 try:

10075 t = YANGDynClass(v,base=str, is_leaf=True, yang_name="vim-type", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='urn:etsi:osm:yang:alternative-images', defining_module='alternative-images', yang_type='string', is_config=True)

10076 except (TypeError, ValueError):

10077 raise ValueError({

10078 'error-string': """vim_type must be of a type compatible with string""",

10079 'defined-type': "string",

10080 'generated-type': """YANGDynClass(base=str, is_leaf=True, yang_name="vim-type", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='urn:etsi:osm:yang:alternative-images', defining_module='alternative-images', yang_type='string', is_config=True)""",

10081 })

10082

10083 self.__vim_type = t

10084 if hasattr(self, '_set'):

10085 self._set()

10086

10087 def _unset_vim_type(self):

10088 self.__vim_type = YANGDynClass(base=str, is_leaf=True, yang_name="vim-type", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='urn:etsi:osm:yang:alternative-images', defining_module='alternative-images', yang_type='string', is_config=True)

10089

10090 id = __builtin__.property(_get_id, _set_id)

10091 name = __builtin__.property(_get_name, _set_name)

10092 version = __builtin__.property(_get_version, _set_version)

10093 checksum = __builtin__.property(_get_checksum, _set_checksum)

10094 container_format = __builtin__.property(_get_container_format, _set_container_format)

10095 disk_format = __builtin__.property(_get_disk_format, _set_disk_format)

10096 min_disk = __builtin__.property(_get_min_disk, _set_min_disk)

10097 min_ram = __builtin__.property(_get_min_ram, _set_min_ram)

10098 size = __builtin__.property(_get_size, _set_size)

10099 image = __builtin__.property(_get_image, _set_image)

10100 operating_system = __builtin__.property(_get_operating_system, _set_operating_system)

10101 supported_virtualization_environment = __builtin__.property(_get_supported_virtualization_environment, _set_supported_virtualization_environment)

10102 vim_type = __builtin__.property(_get_vim_type, _set_vim_type)

10103

10104

10105 _pyangbind_elements = OrderedDict([('id', id), ('name', name), ('version', version), ('checksum', checksum), ('container_format', container_format), ('disk_format', disk_format), ('min_disk', min_disk), ('min_ram', min_ram), ('size', size), ('image', image), ('operating_system', operating_system), ('supported_virtualization_environment', supported_virtualization_environment), ('vim_type', vim_type), ])

10106

10107

10108 class yc_qos_etsi_nfv_vnfd__vnfd_int_virtual_link_desc_flavour_qos(PybindBase):

10109 """

10110 This class was auto-generated by the PythonClass plugin for PYANG

10111 from YANG module etsi-nfv-vnfd - based on the path /vnfd/int-virtual-link-desc/flavour/qos. Each member element of

10112 the container is represented as a class variable - with a specific

10113 YANG type.

10114

10115 YANG Description: QoS of the VL.

10116 """

10117 __slots__ = ('_path_helper', '_extmethods', '__latency','__packet_delay_variation','__packet_loss_ratio',)

10118

10119 _yang_name = 'qos'

10120 _yang_namespace = 'urn:etsi:nfv:yang:etsi-nfv-vnfd'

10121

10122 _pybind_generated_by = 'container'

10123

10124 def __init__(self, *args, **kwargs):

10125

10126 self._path_helper = False

10127

10128 self._extmethods = False

10129 self.__latency = YANGDynClass(base=RestrictedClassType(base_type=long, restriction_dict={'range': ['0..4294967295']}, int_size=32), is_leaf=True, yang_name="latency", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='urn:etsi:nfv:yang:etsi-nfv-vnfd', defining_module='etsi-nfv-vnfd', yang_type='uint32', is_config=True)

10130 self.__packet_delay_variation = YANGDynClass(base=RestrictedClassType(base_type=long, restriction_dict={'range': ['0..4294967295']}, int_size=32), is_leaf=True, yang_name="packet-delay-variation", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='urn:etsi:nfv:yang:etsi-nfv-vnfd', defining_module='etsi-nfv-vnfd', yang_type='uint32', is_config=True)

10131 self.__packet_loss_ratio = YANGDynClass(base=RestrictedClassType(base_type=Decimal, restriction_dict={'range': ['0..1.00']}), is_leaf=True, yang_name="packet-loss-ratio", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='urn:etsi:nfv:yang:etsi-nfv-vnfd', defining_module='etsi-nfv-vnfd', yang_type='decimal64', is_config=True)

10132

10133 load = kwargs.pop("load", None)

10134 if args:

10135 if len(args) > 1:

10136 raise TypeError("cannot create a YANG container with >1 argument")

10137 all_attr = True

10138 for e in self._pyangbind_elements:

10139 if not hasattr(args[0], e):

10140 all_attr = False

10141 break

10142 if not all_attr:

10143 raise ValueError("Supplied object did not have the correct attributes")

10144 for e in self._pyangbind_elements:

10145 nobj = getattr(args[0], e)

10146 if nobj._changed() is False:

10147 continue

10148 setmethod = getattr(self, "_set_%s" % e)

10149 if load is None:

10150 setmethod(getattr(args[0], e))

10151 else:

10152 setmethod(getattr(args[0], e), load=load)

10153

10154 def _path(self):

10155 if hasattr(self, "_parent"):

10156 return self._parent._path()+[self._yang_name]

10157 else:

10158 return ['vnfd', 'int-virtual-link-desc', 'flavour', 'qos']

10159

10160 def _get_latency(self):

10161 """

10162 Getter method for latency, mapped from YANG variable /vnfd/int_virtual_link_desc/flavour/qos/latency (uint32)

10163

10164 YANG Description: Specifies the maximum latency in ms.

10165 """

10166 return self.__latency

10167

10168 def _set_latency(self, v, load=False):

10169 """

10170 Setter method for latency, mapped from YANG variable /vnfd/int_virtual_link_desc/flavour/qos/latency (uint32)

10171 If this variable is read-only (config: false) in the

10172 source YANG file, then _set_latency is considered as a private

10173 method. Backends looking to populate this variable should

10174 do so via calling thisObj._set_latency() directly.

10175

10176 YANG Description: Specifies the maximum latency in ms.

10177 """

10178 if hasattr(v, "_utype"):

10179 v = v._utype(v)

10180 try:

10181 t = YANGDynClass(v,base=RestrictedClassType(base_type=long, restriction_dict={'range': ['0..4294967295']}, int_size=32), is_leaf=True, yang_name="latency", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='urn:etsi:nfv:yang:etsi-nfv-vnfd', defining_module='etsi-nfv-vnfd', yang_type='uint32', is_config=True)

10182 except (TypeError, ValueError):

10183 raise ValueError({

10184 'error-string': """latency must be of a type compatible with uint32""",

10185 'defined-type': "uint32",

10186 'generated-type': """YANGDynClass(base=RestrictedClassType(base_type=long, restriction_dict={'range': ['0..4294967295']}, int_size=32), is_leaf=True, yang_name="latency", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='urn:etsi:nfv:yang:etsi-nfv-vnfd', defining_module='etsi-nfv-vnfd', yang_type='uint32', is_config=True)""",

10187 })

10188

10189 self.__latency = t

10190 if hasattr(self, '_set'):

10191 self._set()

10192

10193 def _unset_latency(self):

10194 self.__latency = YANGDynClass(base=RestrictedClassType(base_type=long, restriction_dict={'range': ['0..4294967295']}, int_size=32), is_leaf=True, yang_name="latency", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='urn:etsi:nfv:yang:etsi-nfv-vnfd', defining_module='etsi-nfv-vnfd', yang_type='uint32', is_config=True)

10195

10196

10197 def _get_packet_delay_variation(self):

10198 """

10199 Getter method for packet_delay_variation, mapped from YANG variable /vnfd/int_virtual_link_desc/flavour/qos/packet_delay_variation (uint32)

10200

10201 YANG Description: Specifies the maximum jitter in ms.

10202 """

10203 return self.__packet_delay_variation

10204

10205 def _set_packet_delay_variation(self, v, load=False):

10206 """

10207 Setter method for packet_delay_variation, mapped from YANG variable /vnfd/int_virtual_link_desc/flavour/qos/packet_delay_variation (uint32)

10208 If this variable is read-only (config: false) in the

10209 source YANG file, then _set_packet_delay_variation is considered as a private

10210 method. Backends looking to populate this variable should

10211 do so via calling thisObj._set_packet_delay_variation() directly.

10212

10213 YANG Description: Specifies the maximum jitter in ms.

10214 """

10215 if hasattr(v, "_utype"):

10216 v = v._utype(v)

10217 try:

10218 t = YANGDynClass(v,base=RestrictedClassType(base_type=long, restriction_dict={'range': ['0..4294967295']}, int_size=32), is_leaf=True, yang_name="packet-delay-variation", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='urn:etsi:nfv:yang:etsi-nfv-vnfd', defining_module='etsi-nfv-vnfd', yang_type='uint32', is_config=True)

10219 except (TypeError, ValueError):

10220 raise ValueError({

10221 'error-string': """packet_delay_variation must be of a type compatible with uint32""",

10222 'defined-type': "uint32",

10223 'generated-type': """YANGDynClass(base=RestrictedClassType(base_type=long, restriction_dict={'range': ['0..4294967295']}, int_size=32), is_leaf=True, yang_name="packet-delay-variation", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='urn:etsi:nfv:yang:etsi-nfv-vnfd', defining_module='etsi-nfv-vnfd', yang_type='uint32', is_config=True)""",

10224 })

10225

10226 self.__packet_delay_variation = t

10227 if hasattr(self, '_set'):

10228 self._set()

10229

10230 def _unset_packet_delay_variation(self):

10231 self.__packet_delay_variation = YANGDynClass(base=RestrictedClassType(base_type=long, restriction_dict={'range': ['0..4294967295']}, int_size=32), is_leaf=True, yang_name="packet-delay-variation", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='urn:etsi:nfv:yang:etsi-nfv-vnfd', defining_module='etsi-nfv-vnfd', yang_type='uint32', is_config=True)

10232

10233

10234 def _get_packet_loss_ratio(self):

10235 """

10236 Getter method for packet_loss_ratio, mapped from YANG variable /vnfd/int_virtual_link_desc/flavour/qos/packet_loss_ratio (decimal64)

10237

10238 YANG Description: Specifies the maximum packet loss ratio.

10239 """

10240 return self.__packet_loss_ratio

10241

10242 def _set_packet_loss_ratio(self, v, load=False):

10243 """

10244 Setter method for packet_loss_ratio, mapped from YANG variable /vnfd/int_virtual_link_desc/flavour/qos/packet_loss_ratio (decimal64)

10245 If this variable is read-only (config: false) in the

10246 source YANG file, then _set_packet_loss_ratio is considered as a private

10247 method. Backends looking to populate this variable should

10248 do so via calling thisObj._set_packet_loss_ratio() directly.

10249

10250 YANG Description: Specifies the maximum packet loss ratio.

10251 """

10252 if hasattr(v, "_utype"):

10253 v = v._utype(v)

10254 try:

10255 t = YANGDynClass(v,base=RestrictedClassType(base_type=Decimal, restriction_dict={'range': ['0..1.00']}), is_leaf=True, yang_name="packet-loss-ratio", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='urn:etsi:nfv:yang:etsi-nfv-vnfd', defining_module='etsi-nfv-vnfd', yang_type='decimal64', is_config=True)

10256 except (TypeError, ValueError):

10257 raise ValueError({

10258 'error-string': """packet_loss_ratio must be of a type compatible with decimal64""",

10259 'defined-type': "decimal64",

10260 'generated-type': """YANGDynClass(base=RestrictedClassType(base_type=Decimal, restriction_dict={'range': ['0..1.00']}), is_leaf=True, yang_name="packet-loss-ratio", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='urn:etsi:nfv:yang:etsi-nfv-vnfd', defining_module='etsi-nfv-vnfd', yang_type='decimal64', is_config=True)""",

10261 })

10262

10263 self.__packet_loss_ratio = t

10264 if hasattr(self, '_set'):

10265 self._set()

10266

10267 def _unset_packet_loss_ratio(self):

10268 self.__packet_loss_ratio = YANGDynClass(base=RestrictedClassType(base_type=Decimal, restriction_dict={'range': ['0..1.00']}), is_leaf=True, yang_name="packet-loss-ratio", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='urn:etsi:nfv:yang:etsi-nfv-vnfd', defining_module='etsi-nfv-vnfd', yang_type='decimal64', is_config=True)

10269

10270 latency = __builtin__.property(_get_latency, _set_latency)

10271 packet_delay_variation = __builtin__.property(_get_packet_delay_variation, _set_packet_delay_variation)

10272 packet_loss_ratio = __builtin__.property(_get_packet_loss_ratio, _set_packet_loss_ratio)

10273

10274

10275 _pyangbind_elements = OrderedDict([('latency', latency), ('packet_delay_variation', packet_delay_variation), ('packet_loss_ratio', packet_loss_ratio), ])

10276

10277

10278 class yc_flavour_etsi_nfv_vnfd__vnfd_int_virtual_link_desc_flavour(PybindBase):

10279 """

10280 This class was auto-generated by the PythonClass plugin for PYANG

10281 from YANG module etsi-nfv-vnfd - based on the path /vnfd/int-virtual-link-desc/flavour. Each member element of

10282 the container is represented as a class variable - with a specific

10283 YANG type.

10284

10285 YANG Description: Describes a specific flavour of the VL with specific

10286 bitrate requirements.

10287 """

10288 __slots__ = ('_path_helper', '_extmethods', '__id','__qos',)

10289

10290 _yang_name = 'flavour'

10291 _yang_namespace = 'urn:etsi:nfv:yang:etsi-nfv-vnfd'

10292

10293 _pybind_generated_by = 'container'

10294

10295 def __init__(self, *args, **kwargs):

10296

10297 self._path_helper = False

10298

10299 self._extmethods = False

10300 self.__id = YANGDynClass(base=str, is_leaf=True, yang_name="id", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, is_keyval=True, namespace='urn:etsi:nfv:yang:etsi-nfv-vnfd', defining_module='etsi-nfv-vnfd', yang_type='string', is_config=True)

10301 self.__qos = YANGDynClass(base=yc_qos_etsi_nfv_vnfd__vnfd_int_virtual_link_desc_flavour_qos, is_container='container', yang_name="qos", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, extensions=None, namespace='urn:etsi:nfv:yang:etsi-nfv-vnfd', defining_module='etsi-nfv-vnfd', yang_type='container', is_config=True)

10302

10303 load = kwargs.pop("load", None)

10304 if args:

10305 if len(args) > 1:

10306 raise TypeError("cannot create a YANG container with >1 argument")

10307 all_attr = True

10308 for e in self._pyangbind_elements:

10309 if not hasattr(args[0], e):

10310 all_attr = False

10311 break

10312 if not all_attr:

10313 raise ValueError("Supplied object did not have the correct attributes")

10314 for e in self._pyangbind_elements:

10315 nobj = getattr(args[0], e)

10316 if nobj._changed() is False:

10317 continue

10318 setmethod = getattr(self, "_set_%s" % e)

10319 if load is None:

10320 setmethod(getattr(args[0], e))

10321 else:

10322 setmethod(getattr(args[0], e), load=load)

10323

10324 def _path(self):

10325 if hasattr(self, "_parent"):

10326 return self._parent._path()+[self._yang_name]

10327 else:

10328 return ['vnfd', 'int-virtual-link-desc', 'flavour']

10329

10330 def _get_id(self):

10331 """

10332 Getter method for id, mapped from YANG variable /vnfd/int_virtual_link_desc/flavour/id (string)

10333

10334 YANG Description: Identifies a flavour within a VnfVirtualLinkDesc.

10335 """

10336 return self.__id

10337

10338 def _set_id(self, v, load=False):

10339 """

10340 Setter method for id, mapped from YANG variable /vnfd/int_virtual_link_desc/flavour/id (string)

10341 If this variable is read-only (config: false) in the

10342 source YANG file, then _set_id is considered as a private

10343 method. Backends looking to populate this variable should

10344 do so via calling thisObj._set_id() directly.

10345

10346 YANG Description: Identifies a flavour within a VnfVirtualLinkDesc.

10347 """

10348 parent = getattr(self, "_parent", None)

10349 if parent is not None and load is False:

10350 raise AttributeError("Cannot set keys directly when" +

10351 " within an instantiated list")

10352

10353 if hasattr(v, "_utype"):

10354 v = v._utype(v)

10355 try:

10356 t = YANGDynClass(v,base=str, is_leaf=True, yang_name="id", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, is_keyval=True, namespace='urn:etsi:nfv:yang:etsi-nfv-vnfd', defining_module='etsi-nfv-vnfd', yang_type='string', is_config=True)

10357 except (TypeError, ValueError):

10358 raise ValueError({

10359 'error-string': """id must be of a type compatible with string""",

10360 'defined-type': "string",

10361 'generated-type': """YANGDynClass(base=str, is_leaf=True, yang_name="id", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, is_keyval=True, namespace='urn:etsi:nfv:yang:etsi-nfv-vnfd', defining_module='etsi-nfv-vnfd', yang_type='string', is_config=True)""",

10362 })

10363

10364 self.__id = t

10365 if hasattr(self, '_set'):

10366 self._set()

10367

10368 def _unset_id(self):

10369 self.__id = YANGDynClass(base=str, is_leaf=True, yang_name="id", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, is_keyval=True, namespace='urn:etsi:nfv:yang:etsi-nfv-vnfd', defining_module='etsi-nfv-vnfd', yang_type='string', is_config=True)

10370

10371

10372 def _get_qos(self):

10373 """

10374 Getter method for qos, mapped from YANG variable /vnfd/int_virtual_link_desc/flavour/qos (container)

10375

10376 YANG Description: QoS of the VL.

10377 """

10378 return self.__qos

10379

10380 def _set_qos(self, v, load=False):

10381 """

10382 Setter method for qos, mapped from YANG variable /vnfd/int_virtual_link_desc/flavour/qos (container)

10383 If this variable is read-only (config: false) in the

10384 source YANG file, then _set_qos is considered as a private

10385 method. Backends looking to populate this variable should

10386 do so via calling thisObj._set_qos() directly.

10387

10388 YANG Description: QoS of the VL.

10389 """

10390 if hasattr(v, "_utype"):

10391 v = v._utype(v)

10392 try:

10393 t = YANGDynClass(v,base=yc_qos_etsi_nfv_vnfd__vnfd_int_virtual_link_desc_flavour_qos, is_container='container', yang_name="qos", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, extensions=None, namespace='urn:etsi:nfv:yang:etsi-nfv-vnfd', defining_module='etsi-nfv-vnfd', yang_type='container', is_config=True)

10394 except (TypeError, ValueError):

10395 raise ValueError({

10396 'error-string': """qos must be of a type compatible with container""",

10397 'defined-type': "container",

10398 'generated-type': """YANGDynClass(base=yc_qos_etsi_nfv_vnfd__vnfd_int_virtual_link_desc_flavour_qos, is_container='container', yang_name="qos", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, extensions=None, namespace='urn:etsi:nfv:yang:etsi-nfv-vnfd', defining_module='etsi-nfv-vnfd', yang_type='container', is_config=True)""",

10399 })

10400

10401 self.__qos = t

10402 if hasattr(self, '_set'):

10403 self._set()

10404

10405 def _unset_qos(self):

10406 self.__qos = YANGDynClass(base=yc_qos_etsi_nfv_vnfd__vnfd_int_virtual_link_desc_flavour_qos, is_container='container', yang_name="qos", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, extensions=None, namespace='urn:etsi:nfv:yang:etsi-nfv-vnfd', defining_module='etsi-nfv-vnfd', yang_type='container', is_config=True)

10407

10408 id = __builtin__.property(_get_id, _set_id)

10409 qos = __builtin__.property(_get_qos, _set_qos)

10410

10411

10412 _pyangbind_elements = OrderedDict([('id', id), ('qos', qos), ])

10413

10414

10415 class yc_connectivity_type_etsi_nfv_vnfd__vnfd_int_virtual_link_desc_connectivity_type(PybindBase):

10416 """

10417 This class was auto-generated by the PythonClass plugin for PYANG

10418 from YANG module etsi-nfv-vnfd - based on the path /vnfd/int-virtual-link-desc/connectivity-type. Each member element of

10419 the container is represented as a class variable - with a specific

10420 YANG type.

10421 """

10422 __slots__ = ('_path_helper', '_extmethods', '__layer_protocol','__flow_pattern',)

10423

10424 _yang_name = 'connectivity-type'

10425 _yang_namespace = 'urn:etsi:nfv:yang:etsi-nfv-vnfd'

10426

10427 _pybind_generated_by = 'container'

10428

10429 def __init__(self, *args, **kwargs):

10430

10431 self._path_helper = False

10432

10433 self._extmethods = False

10434 self.__layer_protocol = YANGDynClass(unique=True, base=TypedListType(allowed_type=RestrictedClassType(base_type=str, restriction_type="dict_key", restriction_arg={'ethernet': {'@module': 'etsi-nfv-descriptors', '@namespace': 'urn:etsi:nfv:yang:etsi-nfv-descriptors'}, 'etsi-nfv-descriptors:ethernet': {'@module': 'etsi-nfv-descriptors', '@namespace': 'urn:etsi:nfv:yang:etsi-nfv-descriptors'}, 'nfv:ethernet': {'@module': 'etsi-nfv-descriptors', '@namespace': 'urn:etsi:nfv:yang:etsi-nfv-descriptors'}, 'descriptors:ethernet': {'@module': 'etsi-nfv-descriptors', '@namespace': 'urn:etsi:nfv:yang:etsi-nfv-descriptors'}, 'vnf:ethernet': {'@module': 'etsi-nfv-descriptors', '@namespace': 'urn:etsi:nfv:yang:etsi-nfv-descriptors'}, 'mpls': {'@module': 'etsi-nfv-descriptors', '@namespace': 'urn:etsi:nfv:yang:etsi-nfv-descriptors'}, 'etsi-nfv-descriptors:mpls': {'@module': 'etsi-nfv-descriptors', '@namespace': 'urn:etsi:nfv:yang:etsi-nfv-descriptors'}, 'nfv:mpls': {'@module': 'etsi-nfv-descriptors', '@namespace': 'urn:etsi:nfv:yang:etsi-nfv-descriptors'}, 'descriptors:mpls': {'@module': 'etsi-nfv-descriptors', '@namespace': 'urn:etsi:nfv:yang:etsi-nfv-descriptors'}, 'vnf:mpls': {'@module': 'etsi-nfv-descriptors', '@namespace': 'urn:etsi:nfv:yang:etsi-nfv-descriptors'}, 'odu2': {'@module': 'etsi-nfv-descriptors', '@namespace': 'urn:etsi:nfv:yang:etsi-nfv-descriptors'}, 'etsi-nfv-descriptors:odu2': {'@module': 'etsi-nfv-descriptors', '@namespace': 'urn:etsi:nfv:yang:etsi-nfv-descriptors'}, 'nfv:odu2': {'@module': 'etsi-nfv-descriptors', '@namespace': 'urn:etsi:nfv:yang:etsi-nfv-descriptors'}, 'descriptors:odu2': {'@module': 'etsi-nfv-descriptors', '@namespace': 'urn:etsi:nfv:yang:etsi-nfv-descriptors'}, 'vnf:odu2': {'@module': 'etsi-nfv-descriptors', '@namespace': 'urn:etsi:nfv:yang:etsi-nfv-descriptors'}, 'ipv4': {'@module': 'etsi-nfv-descriptors', '@namespace': 'urn:etsi:nfv:yang:etsi-nfv-descriptors'}, 'etsi-nfv-descriptors:ipv4': {'@module': 'etsi-nfv-descriptors', '@namespace': 'urn:etsi:nfv:yang:etsi-nfv-descriptors'}, 'nfv:ipv4': {'@module': 'etsi-nfv-descriptors', '@namespace': 'urn:etsi:nfv:yang:etsi-nfv-descriptors'}, 'descriptors:ipv4': {'@module': 'etsi-nfv-descriptors', '@namespace': 'urn:etsi:nfv:yang:etsi-nfv-descriptors'}, 'vnf:ipv4': {'@module': 'etsi-nfv-descriptors', '@namespace': 'urn:etsi:nfv:yang:etsi-nfv-descriptors'}, 'ipv6': {'@module': 'etsi-nfv-descriptors', '@namespace': 'urn:etsi:nfv:yang:etsi-nfv-descriptors'}, 'etsi-nfv-descriptors:ipv6': {'@module': 'etsi-nfv-descriptors', '@namespace': 'urn:etsi:nfv:yang:etsi-nfv-descriptors'}, 'nfv:ipv6': {'@module': 'etsi-nfv-descriptors', '@namespace': 'urn:etsi:nfv:yang:etsi-nfv-descriptors'}, 'descriptors:ipv6': {'@module': 'etsi-nfv-descriptors', '@namespace': 'urn:etsi:nfv:yang:etsi-nfv-descriptors'}, 'vnf:ipv6': {'@module': 'etsi-nfv-descriptors', '@namespace': 'urn:etsi:nfv:yang:etsi-nfv-descriptors'}, 'pseudo-wire': {'@module': 'etsi-nfv-descriptors', '@namespace': 'urn:etsi:nfv:yang:etsi-nfv-descriptors'}, 'etsi-nfv-descriptors:pseudo-wire': {'@module': 'etsi-nfv-descriptors', '@namespace': 'urn:etsi:nfv:yang:etsi-nfv-descriptors'}, 'nfv:pseudo-wire': {'@module': 'etsi-nfv-descriptors', '@namespace': 'urn:etsi:nfv:yang:etsi-nfv-descriptors'}, 'descriptors:pseudo-wire': {'@module': 'etsi-nfv-descriptors', '@namespace': 'urn:etsi:nfv:yang:etsi-nfv-descriptors'}, 'vnf:pseudo-wire': {'@module': 'etsi-nfv-descriptors', '@namespace': 'urn:etsi:nfv:yang:etsi-nfv-descriptors'}},)), is_leaf=False, yang_name="layer-protocol", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='urn:etsi:nfv:yang:etsi-nfv-vnfd', defining_module='etsi-nfv-vnfd', yang_type='identityref', is_config=True)

10435 self.__flow_pattern = YANGDynClass(base=RestrictedClassType(base_type=str, restriction_type="dict_key", restriction_arg={'line': {}, 'tree': {}, 'mesh': {}},), is_leaf=True, yang_name="flow-pattern", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='urn:etsi:nfv:yang:etsi-nfv-vnfd', defining_module='etsi-nfv-vnfd', yang_type='flow-pattern', is_config=True)

10436

10437 load = kwargs.pop("load", None)

10438 if args:

10439 if len(args) > 1:

10440 raise TypeError("cannot create a YANG container with >1 argument")

10441 all_attr = True

10442 for e in self._pyangbind_elements:

10443 if not hasattr(args[0], e):

10444 all_attr = False

10445 break

10446 if not all_attr:

10447 raise ValueError("Supplied object did not have the correct attributes")

10448 for e in self._pyangbind_elements:

10449 nobj = getattr(args[0], e)

10450 if nobj._changed() is False:

10451 continue

10452 setmethod = getattr(self, "_set_%s" % e)

10453 if load is None:

10454 setmethod(getattr(args[0], e))

10455 else:

10456 setmethod(getattr(args[0], e), load=load)

10457

10458 def _path(self):

10459 if hasattr(self, "_parent"):

10460 return self._parent._path()+[self._yang_name]

10461 else:

10462 return ['vnfd', 'int-virtual-link-desc', 'connectivity-type']

10463

10464 def _get_layer_protocol(self):

10465 """

10466 Getter method for layer_protocol, mapped from YANG variable /vnfd/int_virtual_link_desc/connectivity_type/layer_protocol (identityref)

10467

10468 YANG Description: Identifies the protocols that the VL uses (Ethernet,

10469 MPLS, ODU2, IPV4, IPV6, Pseudo-Wire). The top layer

10470 protocol of the VL protocol stack shall always be provided.

10471 The lower layer protocols may be included when there are

10472 specific requirements on these layers.

10473 """

10474 return self.__layer_protocol

10475

10476 def _set_layer_protocol(self, v, load=False):

10477 """

10478 Setter method for layer_protocol, mapped from YANG variable /vnfd/int_virtual_link_desc/connectivity_type/layer_protocol (identityref)

10479 If this variable is read-only (config: false) in the

10480 source YANG file, then _set_layer_protocol is considered as a private

10481 method. Backends looking to populate this variable should

10482 do so via calling thisObj._set_layer_protocol() directly.

10483

10484 YANG Description: Identifies the protocols that the VL uses (Ethernet,

10485 MPLS, ODU2, IPV4, IPV6, Pseudo-Wire). The top layer

10486 protocol of the VL protocol stack shall always be provided.

10487 The lower layer protocols may be included when there are

10488 specific requirements on these layers.

10489 """

10490 if hasattr(v, "_utype"):

10491 v = v._utype(v)

10492 try:

10493 t = YANGDynClass(v,unique=True, base=TypedListType(allowed_type=RestrictedClassType(base_type=str, restriction_type="dict_key", restriction_arg={'ethernet': {'@module': 'etsi-nfv-descriptors', '@namespace': 'urn:etsi:nfv:yang:etsi-nfv-descriptors'}, 'etsi-nfv-descriptors:ethernet': {'@module': 'etsi-nfv-descriptors', '@namespace': 'urn:etsi:nfv:yang:etsi-nfv-descriptors'}, 'nfv:ethernet': {'@module': 'etsi-nfv-descriptors', '@namespace': 'urn:etsi:nfv:yang:etsi-nfv-descriptors'}, 'descriptors:ethernet': {'@module': 'etsi-nfv-descriptors', '@namespace': 'urn:etsi:nfv:yang:etsi-nfv-descriptors'}, 'vnf:ethernet': {'@module': 'etsi-nfv-descriptors', '@namespace': 'urn:etsi:nfv:yang:etsi-nfv-descriptors'}, 'mpls': {'@module': 'etsi-nfv-descriptors', '@namespace': 'urn:etsi:nfv:yang:etsi-nfv-descriptors'}, 'etsi-nfv-descriptors:mpls': {'@module': 'etsi-nfv-descriptors', '@namespace': 'urn:etsi:nfv:yang:etsi-nfv-descriptors'}, 'nfv:mpls': {'@module': 'etsi-nfv-descriptors', '@namespace': 'urn:etsi:nfv:yang:etsi-nfv-descriptors'}, 'descriptors:mpls': {'@module': 'etsi-nfv-descriptors', '@namespace': 'urn:etsi:nfv:yang:etsi-nfv-descriptors'}, 'vnf:mpls': {'@module': 'etsi-nfv-descriptors', '@namespace': 'urn:etsi:nfv:yang:etsi-nfv-descriptors'}, 'odu2': {'@module': 'etsi-nfv-descriptors', '@namespace': 'urn:etsi:nfv:yang:etsi-nfv-descriptors'}, 'etsi-nfv-descriptors:odu2': {'@module': 'etsi-nfv-descriptors', '@namespace': 'urn:etsi:nfv:yang:etsi-nfv-descriptors'}, 'nfv:odu2': {'@module': 'etsi-nfv-descriptors', '@namespace': 'urn:etsi:nfv:yang:etsi-nfv-descriptors'}, 'descriptors:odu2': {'@module': 'etsi-nfv-descriptors', '@namespace': 'urn:etsi:nfv:yang:etsi-nfv-descriptors'}, 'vnf:odu2': {'@module': 'etsi-nfv-descriptors', '@namespace': 'urn:etsi:nfv:yang:etsi-nfv-descriptors'}, 'ipv4': {'@module': 'etsi-nfv-descriptors', '@namespace': 'urn:etsi:nfv:yang:etsi-nfv-descriptors'}, 'etsi-nfv-descriptors:ipv4': {'@module': 'etsi-nfv-descriptors', '@namespace': 'urn:etsi:nfv:yang:etsi-nfv-descriptors'}, 'nfv:ipv4': {'@module': 'etsi-nfv-descriptors', '@namespace': 'urn:etsi:nfv:yang:etsi-nfv-descriptors'}, 'descriptors:ipv4': {'@module': 'etsi-nfv-descriptors', '@namespace': 'urn:etsi:nfv:yang:etsi-nfv-descriptors'}, 'vnf:ipv4': {'@module': 'etsi-nfv-descriptors', '@namespace': 'urn:etsi:nfv:yang:etsi-nfv-descriptors'}, 'ipv6': {'@module': 'etsi-nfv-descriptors', '@namespace': 'urn:etsi:nfv:yang:etsi-nfv-descriptors'}, 'etsi-nfv-descriptors:ipv6': {'@module': 'etsi-nfv-descriptors', '@namespace': 'urn:etsi:nfv:yang:etsi-nfv-descriptors'}, 'nfv:ipv6': {'@module': 'etsi-nfv-descriptors', '@namespace': 'urn:etsi:nfv:yang:etsi-nfv-descriptors'}, 'descriptors:ipv6': {'@module': 'etsi-nfv-descriptors', '@namespace': 'urn:etsi:nfv:yang:etsi-nfv-descriptors'}, 'vnf:ipv6': {'@module': 'etsi-nfv-descriptors', '@namespace': 'urn:etsi:nfv:yang:etsi-nfv-descriptors'}, 'pseudo-wire': {'@module': 'etsi-nfv-descriptors', '@namespace': 'urn:etsi:nfv:yang:etsi-nfv-descriptors'}, 'etsi-nfv-descriptors:pseudo-wire': {'@module': 'etsi-nfv-descriptors', '@namespace': 'urn:etsi:nfv:yang:etsi-nfv-descriptors'}, 'nfv:pseudo-wire': {'@module': 'etsi-nfv-descriptors', '@namespace': 'urn:etsi:nfv:yang:etsi-nfv-descriptors'}, 'descriptors:pseudo-wire': {'@module': 'etsi-nfv-descriptors', '@namespace': 'urn:etsi:nfv:yang:etsi-nfv-descriptors'}, 'vnf:pseudo-wire': {'@module': 'etsi-nfv-descriptors', '@namespace': 'urn:etsi:nfv:yang:etsi-nfv-descriptors'}},)), is_leaf=False, yang_name="layer-protocol", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='urn:etsi:nfv:yang:etsi-nfv-vnfd', defining_module='etsi-nfv-vnfd', yang_type='identityref', is_config=True)

10494 except (TypeError, ValueError):

10495 raise ValueError({

10496 'error-string': """layer_protocol must be of a type compatible with identityref""",

10497 'defined-type': "etsi-nfv-vnfd:identityref",

10498 'generated-type': """YANGDynClass(unique=True, base=TypedListType(allowed_type=RestrictedClassType(base_type=str, restriction_type="dict_key", restriction_arg={'ethernet': {'@module': 'etsi-nfv-descriptors', '@namespace': 'urn:etsi:nfv:yang:etsi-nfv-descriptors'}, 'etsi-nfv-descriptors:ethernet': {'@module': 'etsi-nfv-descriptors', '@namespace': 'urn:etsi:nfv:yang:etsi-nfv-descriptors'}, 'nfv:ethernet': {'@module': 'etsi-nfv-descriptors', '@namespace': 'urn:etsi:nfv:yang:etsi-nfv-descriptors'}, 'descriptors:ethernet': {'@module': 'etsi-nfv-descriptors', '@namespace': 'urn:etsi:nfv:yang:etsi-nfv-descriptors'}, 'vnf:ethernet': {'@module': 'etsi-nfv-descriptors', '@namespace': 'urn:etsi:nfv:yang:etsi-nfv-descriptors'}, 'mpls': {'@module': 'etsi-nfv-descriptors', '@namespace': 'urn:etsi:nfv:yang:etsi-nfv-descriptors'}, 'etsi-nfv-descriptors:mpls': {'@module': 'etsi-nfv-descriptors', '@namespace': 'urn:etsi:nfv:yang:etsi-nfv-descriptors'}, 'nfv:mpls': {'@module': 'etsi-nfv-descriptors', '@namespace': 'urn:etsi:nfv:yang:etsi-nfv-descriptors'}, 'descriptors:mpls': {'@module': 'etsi-nfv-descriptors', '@namespace': 'urn:etsi:nfv:yang:etsi-nfv-descriptors'}, 'vnf:mpls': {'@module': 'etsi-nfv-descriptors', '@namespace': 'urn:etsi:nfv:yang:etsi-nfv-descriptors'}, 'odu2': {'@module': 'etsi-nfv-descriptors', '@namespace': 'urn:etsi:nfv:yang:etsi-nfv-descriptors'}, 'etsi-nfv-descriptors:odu2': {'@module': 'etsi-nfv-descriptors', '@namespace': 'urn:etsi:nfv:yang:etsi-nfv-descriptors'}, 'nfv:odu2': {'@module': 'etsi-nfv-descriptors', '@namespace': 'urn:etsi:nfv:yang:etsi-nfv-descriptors'}, 'descriptors:odu2': {'@module': 'etsi-nfv-descriptors', '@namespace': 'urn:etsi:nfv:yang:etsi-nfv-descriptors'}, 'vnf:odu2': {'@module': 'etsi-nfv-descriptors', '@namespace': 'urn:etsi:nfv:yang:etsi-nfv-descriptors'}, 'ipv4': {'@module': 'etsi-nfv-descriptors', '@namespace': 'urn:etsi:nfv:yang:etsi-nfv-descriptors'}, 'etsi-nfv-descriptors:ipv4': {'@module': 'etsi-nfv-descriptors', '@namespace': 'urn:etsi:nfv:yang:etsi-nfv-descriptors'}, 'nfv:ipv4': {'@module': 'etsi-nfv-descriptors', '@namespace': 'urn:etsi:nfv:yang:etsi-nfv-descriptors'}, 'descriptors:ipv4': {'@module': 'etsi-nfv-descriptors', '@namespace': 'urn:etsi:nfv:yang:etsi-nfv-descriptors'}, 'vnf:ipv4': {'@module': 'etsi-nfv-descriptors', '@namespace': 'urn:etsi:nfv:yang:etsi-nfv-descriptors'}, 'ipv6': {'@module': 'etsi-nfv-descriptors', '@namespace': 'urn:etsi:nfv:yang:etsi-nfv-descriptors'}, 'etsi-nfv-descriptors:ipv6': {'@module': 'etsi-nfv-descriptors', '@namespace': 'urn:etsi:nfv:yang:etsi-nfv-descriptors'}, 'nfv:ipv6': {'@module': 'etsi-nfv-descriptors', '@namespace': 'urn:etsi:nfv:yang:etsi-nfv-descriptors'}, 'descriptors:ipv6': {'@module': 'etsi-nfv-descriptors', '@namespace': 'urn:etsi:nfv:yang:etsi-nfv-descriptors'}, 'vnf:ipv6': {'@module': 'etsi-nfv-descriptors', '@namespace': 'urn:etsi:nfv:yang:etsi-nfv-descriptors'}, 'pseudo-wire': {'@module': 'etsi-nfv-descriptors', '@namespace': 'urn:etsi:nfv:yang:etsi-nfv-descriptors'}, 'etsi-nfv-descriptors:pseudo-wire': {'@module': 'etsi-nfv-descriptors', '@namespace': 'urn:etsi:nfv:yang:etsi-nfv-descriptors'}, 'nfv:pseudo-wire': {'@module': 'etsi-nfv-descriptors', '@namespace': 'urn:etsi:nfv:yang:etsi-nfv-descriptors'}, 'descriptors:pseudo-wire': {'@module': 'etsi-nfv-descriptors', '@namespace': 'urn:etsi:nfv:yang:etsi-nfv-descriptors'}, 'vnf:pseudo-wire': {'@module': 'etsi-nfv-descriptors', '@namespace': 'urn:etsi:nfv:yang:etsi-nfv-descriptors'}},)), is_leaf=False, yang_name="layer-protocol", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='urn:etsi:nfv:yang:etsi-nfv-vnfd', defining_module='etsi-nfv-vnfd', yang_type='identityref', is_config=True)""",

10499 })

10500

10501 self.__layer_protocol = t

10502 if hasattr(self, '_set'):

10503 self._set()

10504

10505 def _unset_layer_protocol(self):

10506 self.__layer_protocol = YANGDynClass(unique=True, base=TypedListType(allowed_type=RestrictedClassType(base_type=str, restriction_type="dict_key", restriction_arg={'ethernet': {'@module': 'etsi-nfv-descriptors', '@namespace': 'urn:etsi:nfv:yang:etsi-nfv-descriptors'}, 'etsi-nfv-descriptors:ethernet': {'@module': 'etsi-nfv-descriptors', '@namespace': 'urn:etsi:nfv:yang:etsi-nfv-descriptors'}, 'nfv:ethernet': {'@module': 'etsi-nfv-descriptors', '@namespace': 'urn:etsi:nfv:yang:etsi-nfv-descriptors'}, 'descriptors:ethernet': {'@module': 'etsi-nfv-descriptors', '@namespace': 'urn:etsi:nfv:yang:etsi-nfv-descriptors'}, 'vnf:ethernet': {'@module': 'etsi-nfv-descriptors', '@namespace': 'urn:etsi:nfv:yang:etsi-nfv-descriptors'}, 'mpls': {'@module': 'etsi-nfv-descriptors', '@namespace': 'urn:etsi:nfv:yang:etsi-nfv-descriptors'}, 'etsi-nfv-descriptors:mpls': {'@module': 'etsi-nfv-descriptors', '@namespace': 'urn:etsi:nfv:yang:etsi-nfv-descriptors'}, 'nfv:mpls': {'@module': 'etsi-nfv-descriptors', '@namespace': 'urn:etsi:nfv:yang:etsi-nfv-descriptors'}, 'descriptors:mpls': {'@module': 'etsi-nfv-descriptors', '@namespace': 'urn:etsi:nfv:yang:etsi-nfv-descriptors'}, 'vnf:mpls': {'@module': 'etsi-nfv-descriptors', '@namespace': 'urn:etsi:nfv:yang:etsi-nfv-descriptors'}, 'odu2': {'@module': 'etsi-nfv-descriptors', '@namespace': 'urn:etsi:nfv:yang:etsi-nfv-descriptors'}, 'etsi-nfv-descriptors:odu2': {'@module': 'etsi-nfv-descriptors', '@namespace': 'urn:etsi:nfv:yang:etsi-nfv-descriptors'}, 'nfv:odu2': {'@module': 'etsi-nfv-descriptors', '@namespace': 'urn:etsi:nfv:yang:etsi-nfv-descriptors'}, 'descriptors:odu2': {'@module': 'etsi-nfv-descriptors', '@namespace': 'urn:etsi:nfv:yang:etsi-nfv-descriptors'}, 'vnf:odu2': {'@module': 'etsi-nfv-descriptors', '@namespace': 'urn:etsi:nfv:yang:etsi-nfv-descriptors'}, 'ipv4': {'@module': 'etsi-nfv-descriptors', '@namespace': 'urn:etsi:nfv:yang:etsi-nfv-descriptors'}, 'etsi-nfv-descriptors:ipv4': {'@module': 'etsi-nfv-descriptors', '@namespace': 'urn:etsi:nfv:yang:etsi-nfv-descriptors'}, 'nfv:ipv4': {'@module': 'etsi-nfv-descriptors', '@namespace': 'urn:etsi:nfv:yang:etsi-nfv-descriptors'}, 'descriptors:ipv4': {'@module': 'etsi-nfv-descriptors', '@namespace': 'urn:etsi:nfv:yang:etsi-nfv-descriptors'}, 'vnf:ipv4': {'@module': 'etsi-nfv-descriptors', '@namespace': 'urn:etsi:nfv:yang:etsi-nfv-descriptors'}, 'ipv6': {'@module': 'etsi-nfv-descriptors', '@namespace': 'urn:etsi:nfv:yang:etsi-nfv-descriptors'}, 'etsi-nfv-descriptors:ipv6': {'@module': 'etsi-nfv-descriptors', '@namespace': 'urn:etsi:nfv:yang:etsi-nfv-descriptors'}, 'nfv:ipv6': {'@module': 'etsi-nfv-descriptors', '@namespace': 'urn:etsi:nfv:yang:etsi-nfv-descriptors'}, 'descriptors:ipv6': {'@module': 'etsi-nfv-descriptors', '@namespace': 'urn:etsi:nfv:yang:etsi-nfv-descriptors'}, 'vnf:ipv6': {'@module': 'etsi-nfv-descriptors', '@namespace': 'urn:etsi:nfv:yang:etsi-nfv-descriptors'}, 'pseudo-wire': {'@module': 'etsi-nfv-descriptors', '@namespace': 'urn:etsi:nfv:yang:etsi-nfv-descriptors'}, 'etsi-nfv-descriptors:pseudo-wire': {'@module': 'etsi-nfv-descriptors', '@namespace': 'urn:etsi:nfv:yang:etsi-nfv-descriptors'}, 'nfv:pseudo-wire': {'@module': 'etsi-nfv-descriptors', '@namespace': 'urn:etsi:nfv:yang:etsi-nfv-descriptors'}, 'descriptors:pseudo-wire': {'@module': 'etsi-nfv-descriptors', '@namespace': 'urn:etsi:nfv:yang:etsi-nfv-descriptors'}, 'vnf:pseudo-wire': {'@module': 'etsi-nfv-descriptors', '@namespace': 'urn:etsi:nfv:yang:etsi-nfv-descriptors'}},)), is_leaf=False, yang_name="layer-protocol", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='urn:etsi:nfv:yang:etsi-nfv-vnfd', defining_module='etsi-nfv-vnfd', yang_type='identityref', is_config=True)

10507

10508

10509 def _get_flow_pattern(self):

10510 """

10511 Getter method for flow_pattern, mapped from YANG variable /vnfd/int_virtual_link_desc/connectivity_type/flow_pattern (flow-pattern)

10512

10513 YANG Description: Identifies the flow pattern of the connectivity (Line,

10514 Tree, Mesh).

10515 """

10516 return self.__flow_pattern

10517

10518 def _set_flow_pattern(self, v, load=False):

10519 """

10520 Setter method for flow_pattern, mapped from YANG variable /vnfd/int_virtual_link_desc/connectivity_type/flow_pattern (flow-pattern)

10521 If this variable is read-only (config: false) in the

10522 source YANG file, then _set_flow_pattern is considered as a private

10523 method. Backends looking to populate this variable should

10524 do so via calling thisObj._set_flow_pattern() directly.

10525

10526 YANG Description: Identifies the flow pattern of the connectivity (Line,

10527 Tree, Mesh).

10528 """

10529 if hasattr(v, "_utype"):

10530 v = v._utype(v)

10531 try:

10532 t = YANGDynClass(v,base=RestrictedClassType(base_type=str, restriction_type="dict_key", restriction_arg={'line': {}, 'tree': {}, 'mesh': {}},), is_leaf=True, yang_name="flow-pattern", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='urn:etsi:nfv:yang:etsi-nfv-vnfd', defining_module='etsi-nfv-vnfd', yang_type='flow-pattern', is_config=True)

10533 except (TypeError, ValueError):

10534 raise ValueError({

10535 'error-string': """flow_pattern must be of a type compatible with flow-pattern""",

10536 'defined-type': "etsi-nfv-vnfd:flow-pattern",

10537 'generated-type': """YANGDynClass(base=RestrictedClassType(base_type=str, restriction_type="dict_key", restriction_arg={'line': {}, 'tree': {}, 'mesh': {}},), is_leaf=True, yang_name="flow-pattern", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='urn:etsi:nfv:yang:etsi-nfv-vnfd', defining_module='etsi-nfv-vnfd', yang_type='flow-pattern', is_config=True)""",

10538 })

10539

10540 self.__flow_pattern = t

10541 if hasattr(self, '_set'):

10542 self._set()

10543

10544 def _unset_flow_pattern(self):

10545 self.__flow_pattern = YANGDynClass(base=RestrictedClassType(base_type=str, restriction_type="dict_key", restriction_arg={'line': {}, 'tree': {}, 'mesh': {}},), is_leaf=True, yang_name="flow-pattern", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='urn:etsi:nfv:yang:etsi-nfv-vnfd', defining_module='etsi-nfv-vnfd', yang_type='flow-pattern', is_config=True)

10546

10547 layer_protocol = __builtin__.property(_get_layer_protocol, _set_layer_protocol)

10548 flow_pattern = __builtin__.property(_get_flow_pattern, _set_flow_pattern)

10549

10550

10551 _pyangbind_elements = OrderedDict([('layer_protocol', layer_protocol), ('flow_pattern', flow_pattern), ])

10552

10553

10554 class yc_monitoring_parameters_etsi_nfv_vnfd__vnfd_int_virtual_link_desc_monitoring_parameters(PybindBase):

10555 """

10556 This class was auto-generated by the PythonClass plugin for PYANG

10557 from YANG module etsi-nfv-vnfd - based on the path /vnfd/int-virtual-link-desc/monitoring-parameters. Each member element of

10558 the container is represented as a class variable - with a specific

10559 YANG type.

10560 """

10561 __slots__ = ('_path_helper', '_extmethods', '__id','__name','__performance_metric','__collection_period',)

10562

10563 _yang_name = 'monitoring-parameters'

10564 _yang_namespace = 'urn:etsi:nfv:yang:etsi-nfv-vnfd'

10565

10566 _pybind_generated_by = 'container'

10567

10568 def __init__(self, *args, **kwargs):

10569

10570 self._path_helper = False

10571

10572 self._extmethods = False

10573 self.__id = YANGDynClass(base=str, is_leaf=True, yang_name="id", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, is_keyval=True, namespace='urn:etsi:nfv:yang:etsi-nfv-vnfd', defining_module='etsi-nfv-vnfd', yang_type='string', is_config=True)

10574 self.__name = YANGDynClass(base=str, is_leaf=True, yang_name="name", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='urn:etsi:nfv:yang:etsi-nfv-vnfd', defining_module='etsi-nfv-vnfd', yang_type='string', is_config=True)

10575 self.__performance_metric = YANGDynClass(base=str, is_leaf=True, yang_name="performance-metric", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='urn:etsi:nfv:yang:etsi-nfv-vnfd', defining_module='etsi-nfv-vnfd', yang_type='string', is_config=True)

10576 self.__collection_period = YANGDynClass(base=RestrictedClassType(base_type=long, restriction_dict={'range': ['0..18446744073709551615']}, int_size=64), is_leaf=True, yang_name="collection-period", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='urn:etsi:nfv:yang:etsi-nfv-vnfd', defining_module='etsi-nfv-vnfd', yang_type='uint64', is_config=True)

10577

10578 load = kwargs.pop("load", None)

10579 if args:

10580 if len(args) > 1:

10581 raise TypeError("cannot create a YANG container with >1 argument")

10582 all_attr = True

10583 for e in self._pyangbind_elements:

10584 if not hasattr(args[0], e):

10585 all_attr = False

10586 break

10587 if not all_attr:

10588 raise ValueError("Supplied object did not have the correct attributes")

10589 for e in self._pyangbind_elements:

10590 nobj = getattr(args[0], e)

10591 if nobj._changed() is False:

10592 continue

10593 setmethod = getattr(self, "_set_%s" % e)

10594 if load is None:

10595 setmethod(getattr(args[0], e))

10596 else:

10597 setmethod(getattr(args[0], e), load=load)

10598

10599 def _path(self):

10600 if hasattr(self, "_parent"):

10601 return self._parent._path()+[self._yang_name]

10602 else:

10603 return ['vnfd', 'int-virtual-link-desc', 'monitoring-parameters']

10604

10605 def _get_id(self):

10606 """

10607 Getter method for id, mapped from YANG variable /vnfd/int_virtual_link_desc/monitoring_parameters/id (string)

10608

10609 YANG Description: Unique identifier of the monitoring parameter.

10610 """

10611 return self.__id

10612

10613 def _set_id(self, v, load=False):

10614 """

10615 Setter method for id, mapped from YANG variable /vnfd/int_virtual_link_desc/monitoring_parameters/id (string)

10616 If this variable is read-only (config: false) in the

10617 source YANG file, then _set_id is considered as a private

10618 method. Backends looking to populate this variable should

10619 do so via calling thisObj._set_id() directly.

10620

10621 YANG Description: Unique identifier of the monitoring parameter.

10622 """

10623 parent = getattr(self, "_parent", None)

10624 if parent is not None and load is False:

10625 raise AttributeError("Cannot set keys directly when" +

10626 " within an instantiated list")

10627

10628 if hasattr(v, "_utype"):

10629 v = v._utype(v)

10630 try:

10631 t = YANGDynClass(v,base=str, is_leaf=True, yang_name="id", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, is_keyval=True, namespace='urn:etsi:nfv:yang:etsi-nfv-vnfd', defining_module='etsi-nfv-vnfd', yang_type='string', is_config=True)

10632 except (TypeError, ValueError):

10633 raise ValueError({

10634 'error-string': """id must be of a type compatible with string""",

10635 'defined-type': "string",

10636 'generated-type': """YANGDynClass(base=str, is_leaf=True, yang_name="id", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, is_keyval=True, namespace='urn:etsi:nfv:yang:etsi-nfv-vnfd', defining_module='etsi-nfv-vnfd', yang_type='string', is_config=True)""",

10637 })

10638

10639 self.__id = t

10640 if hasattr(self, '_set'):

10641 self._set()

10642

10643 def _unset_id(self):

10644 self.__id = YANGDynClass(base=str, is_leaf=True, yang_name="id", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, is_keyval=True, namespace='urn:etsi:nfv:yang:etsi-nfv-vnfd', defining_module='etsi-nfv-vnfd', yang_type='string', is_config=True)

10645

10646

10647 def _get_name(self):

10648 """

10649 Getter method for name, mapped from YANG variable /vnfd/int_virtual_link_desc/monitoring_parameters/name (string)

10650

10651 YANG Description: Human readable name of the monitoring parameter.

10652 """

10653 return self.__name

10654

10655 def _set_name(self, v, load=False):

10656 """

10657 Setter method for name, mapped from YANG variable /vnfd/int_virtual_link_desc/monitoring_parameters/name (string)

10658 If this variable is read-only (config: false) in the

10659 source YANG file, then _set_name is considered as a private

10660 method. Backends looking to populate this variable should

10661 do so via calling thisObj._set_name() directly.

10662

10663 YANG Description: Human readable name of the monitoring parameter.

10664 """

10665 if hasattr(v, "_utype"):

10666 v = v._utype(v)

10667 try:

10668 t = YANGDynClass(v,base=str, is_leaf=True, yang_name="name", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='urn:etsi:nfv:yang:etsi-nfv-vnfd', defining_module='etsi-nfv-vnfd', yang_type='string', is_config=True)

10669 except (TypeError, ValueError):

10670 raise ValueError({

10671 'error-string': """name must be of a type compatible with string""",

10672 'defined-type': "string",

10673 'generated-type': """YANGDynClass(base=str, is_leaf=True, yang_name="name", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='urn:etsi:nfv:yang:etsi-nfv-vnfd', defining_module='etsi-nfv-vnfd', yang_type='string', is_config=True)""",

10674 })

10675

10676 self.__name = t

10677 if hasattr(self, '_set'):

10678 self._set()

10679

10680 def _unset_name(self):

10681 self.__name = YANGDynClass(base=str, is_leaf=True, yang_name="name", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='urn:etsi:nfv:yang:etsi-nfv-vnfd', defining_module='etsi-nfv-vnfd', yang_type='string', is_config=True)

10682

10683

10684 def _get_performance_metric(self):

10685 """

10686 Getter method for performance_metric, mapped from YANG variable /vnfd/int_virtual_link_desc/monitoring_parameters/performance_metric (string)

10687

10688 YANG Description: Performance metric that is monitored. This attribute shall

10689 contain the related 'Measurement Name' value as defined in

10690 clause 7.2 of ETSI GS NFV-IFA 027

10691 """

10692 return self.__performance_metric

10693

10694 def _set_performance_metric(self, v, load=False):

10695 """

10696 Setter method for performance_metric, mapped from YANG variable /vnfd/int_virtual_link_desc/monitoring_parameters/performance_metric (string)

10697 If this variable is read-only (config: false) in the

10698 source YANG file, then _set_performance_metric is considered as a private

10699 method. Backends looking to populate this variable should

10700 do so via calling thisObj._set_performance_metric() directly.

10701

10702 YANG Description: Performance metric that is monitored. This attribute shall

10703 contain the related 'Measurement Name' value as defined in

10704 clause 7.2 of ETSI GS NFV-IFA 027

10705 """

10706 if hasattr(v, "_utype"):

10707 v = v._utype(v)

10708 try:

10709 t = YANGDynClass(v,base=str, is_leaf=True, yang_name="performance-metric", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='urn:etsi:nfv:yang:etsi-nfv-vnfd', defining_module='etsi-nfv-vnfd', yang_type='string', is_config=True)

10710 except (TypeError, ValueError):

10711 raise ValueError({

10712 'error-string': """performance_metric must be of a type compatible with string""",

10713 'defined-type': "string",

10714 'generated-type': """YANGDynClass(base=str, is_leaf=True, yang_name="performance-metric", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='urn:etsi:nfv:yang:etsi-nfv-vnfd', defining_module='etsi-nfv-vnfd', yang_type='string', is_config=True)""",

10715 })

10716

10717 self.__performance_metric = t

10718 if hasattr(self, '_set'):

10719 self._set()

10720

10721 def _unset_performance_metric(self):

10722 self.__performance_metric = YANGDynClass(base=str, is_leaf=True, yang_name="performance-metric", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='urn:etsi:nfv:yang:etsi-nfv-vnfd', defining_module='etsi-nfv-vnfd', yang_type='string', is_config=True)

10723

10724

10725 def _get_collection_period(self):

10726 """

10727 Getter method for collection_period, mapped from YANG variable /vnfd/int_virtual_link_desc/monitoring_parameters/collection_period (uint64)

10728

10729 YANG Description: An attribute that describes the recommended periodicity at

10730 which to collect the performance information. VNFM determines

10731 if this parameter is considered.

10732

10733 The vendor may provide this information as a guidance for

10734 creating PmJobs if needed.

10735 """

10736 return self.__collection_period

10737

10738 def _set_collection_period(self, v, load=False):

10739 """

10740 Setter method for collection_period, mapped from YANG variable /vnfd/int_virtual_link_desc/monitoring_parameters/collection_period (uint64)

10741 If this variable is read-only (config: false) in the

10742 source YANG file, then _set_collection_period is considered as a private

10743 method. Backends looking to populate this variable should

10744 do so via calling thisObj._set_collection_period() directly.

10745

10746 YANG Description: An attribute that describes the recommended periodicity at

10747 which to collect the performance information. VNFM determines

10748 if this parameter is considered.

10749

10750 The vendor may provide this information as a guidance for

10751 creating PmJobs if needed.

10752 """

10753 if hasattr(v, "_utype"):

10754 v = v._utype(v)

10755 try:

10756 t = YANGDynClass(v,base=RestrictedClassType(base_type=long, restriction_dict={'range': ['0..18446744073709551615']}, int_size=64), is_leaf=True, yang_name="collection-period", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='urn:etsi:nfv:yang:etsi-nfv-vnfd', defining_module='etsi-nfv-vnfd', yang_type='uint64', is_config=True)

10757 except (TypeError, ValueError):

10758 raise ValueError({

10759 'error-string': """collection_period must be of a type compatible with uint64""",

10760 'defined-type': "uint64",

10761 'generated-type': """YANGDynClass(base=RestrictedClassType(base_type=long, restriction_dict={'range': ['0..18446744073709551615']}, int_size=64), is_leaf=True, yang_name="collection-period", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='urn:etsi:nfv:yang:etsi-nfv-vnfd', defining_module='etsi-nfv-vnfd', yang_type='uint64', is_config=True)""",

10762 })

10763

10764 self.__collection_period = t

10765 if hasattr(self, '_set'):

10766 self._set()

10767

10768 def _unset_collection_period(self):

10769 self.__collection_period = YANGDynClass(base=RestrictedClassType(base_type=long, restriction_dict={'range': ['0..18446744073709551615']}, int_size=64), is_leaf=True, yang_name="collection-period", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='urn:etsi:nfv:yang:etsi-nfv-vnfd', defining_module='etsi-nfv-vnfd', yang_type='uint64', is_config=True)

10770

10771 id = __builtin__.property(_get_id, _set_id)

10772 name = __builtin__.property(_get_name, _set_name)

10773 performance_metric = __builtin__.property(_get_performance_metric, _set_performance_metric)

10774 collection_period = __builtin__.property(_get_collection_period, _set_collection_period)

10775

10776

10777 _pyangbind_elements = OrderedDict([('id', id), ('name', name), ('performance_metric', performance_metric), ('collection_period', collection_period), ])

10778

10779

10780 class yc_provider_network_etsi_nfv_vnfd__vnfd_int_virtual_link_desc_provider_network(PybindBase):

10781 """

10782 This class was auto-generated by the PythonClass plugin for PYANG

10783 from YANG module etsi-nfv-vnfd - based on the path /vnfd/int-virtual-link-desc/provider-network. Each member element of

10784 the container is represented as a class variable - with a specific

10785 YANG type.

10786

10787 YANG Description: Container for the provider network.

10788 """

10789 __slots__ = ('_path_helper', '_extmethods', '__physical_network','__segmentation_id',)

10790

10791 _yang_name = 'provider-network'

10792 _yang_namespace = 'urn:etsi:nfv:yang:etsi-nfv-vnfd'

10793

10794 _pybind_generated_by = 'container'

10795

10796 def __init__(self, *args, **kwargs):

10797

10798 self._path_helper = False

10799

10800 self._extmethods = False

10801 self.__physical_network = YANGDynClass(base=str, is_leaf=True, yang_name="physical-network", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='urn:etsi:osm:yang:augments:various', defining_module='various', yang_type='string', is_config=True)

10802 self.__segmentation_id = YANGDynClass(base=RestrictedClassType(base_type=long, restriction_dict={'range': ['0..4294967295']}, int_size=32), is_leaf=True, yang_name="segmentation_id", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='urn:etsi:osm:yang:augments:various', defining_module='various', yang_type='uint32', is_config=True)

10803

10804 load = kwargs.pop("load", None)

10805 if args:

10806 if len(args) > 1:

10807 raise TypeError("cannot create a YANG container with >1 argument")

10808 all_attr = True

10809 for e in self._pyangbind_elements:

10810 if not hasattr(args[0], e):

10811 all_attr = False

10812 break

10813 if not all_attr:

10814 raise ValueError("Supplied object did not have the correct attributes")

10815 for e in self._pyangbind_elements:

10816 nobj = getattr(args[0], e)

10817 if nobj._changed() is False:

10818 continue

10819 setmethod = getattr(self, "_set_%s" % e)

10820 if load is None:

10821 setmethod(getattr(args[0], e))

10822 else:

10823 setmethod(getattr(args[0], e), load=load)

10824

10825 def _path(self):

10826 if hasattr(self, "_parent"):

10827 return self._parent._path()+[self._yang_name]

10828 else:

10829 return ['vnfd', 'int-virtual-link-desc', 'provider-network']

10830

10831 def _get_physical_network(self):

10832 """

10833 Getter method for physical_network, mapped from YANG variable /vnfd/int_virtual_link_desc/provider_network/physical_network (string)

10834

10835 YANG Description: Name of the physical network on which the provider

10836 network is built.

10837 """

10838 return self.__physical_network

10839

10840 def _set_physical_network(self, v, load=False):

10841 """

10842 Setter method for physical_network, mapped from YANG variable /vnfd/int_virtual_link_desc/provider_network/physical_network (string)

10843 If this variable is read-only (config: false) in the

10844 source YANG file, then _set_physical_network is considered as a private

10845 method. Backends looking to populate this variable should

10846 do so via calling thisObj._set_physical_network() directly.

10847

10848 YANG Description: Name of the physical network on which the provider

10849 network is built.

10850 """

10851 if hasattr(v, "_utype"):

10852 v = v._utype(v)

10853 try:

10854 t = YANGDynClass(v,base=str, is_leaf=True, yang_name="physical-network", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='urn:etsi:osm:yang:augments:various', defining_module='various', yang_type='string', is_config=True)

10855 except (TypeError, ValueError):

10856 raise ValueError({

10857 'error-string': """physical_network must be of a type compatible with string""",

10858 'defined-type': "string",

10859 'generated-type': """YANGDynClass(base=str, is_leaf=True, yang_name="physical-network", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='urn:etsi:osm:yang:augments:various', defining_module='various', yang_type='string', is_config=True)""",

10860 })

10861

10862 self.__physical_network = t

10863 if hasattr(self, '_set'):

10864 self._set()

10865

10866 def _unset_physical_network(self):

10867 self.__physical_network = YANGDynClass(base=str, is_leaf=True, yang_name="physical-network", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='urn:etsi:osm:yang:augments:various', defining_module='various', yang_type='string', is_config=True)

10868

10869

10870 def _get_segmentation_id(self):

10871 """

10872 Getter method for segmentation_id, mapped from YANG variable /vnfd/int_virtual_link_desc/provider_network/segmentation_id (uint32)

10873

10874 YANG Description: ID of segregated virtual networks

10875 """

10876 return self.__segmentation_id

10877

10878 def _set_segmentation_id(self, v, load=False):

10879 """

10880 Setter method for segmentation_id, mapped from YANG variable /vnfd/int_virtual_link_desc/provider_network/segmentation_id (uint32)

10881 If this variable is read-only (config: false) in the

10882 source YANG file, then _set_segmentation_id is considered as a private

10883 method. Backends looking to populate this variable should

10884 do so via calling thisObj._set_segmentation_id() directly.

10885

10886 YANG Description: ID of segregated virtual networks

10887 """

10888 if hasattr(v, "_utype"):

10889 v = v._utype(v)

10890 try:

10891 t = YANGDynClass(v,base=RestrictedClassType(base_type=long, restriction_dict={'range': ['0..4294967295']}, int_size=32), is_leaf=True, yang_name="segmentation_id", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='urn:etsi:osm:yang:augments:various', defining_module='various', yang_type='uint32', is_config=True)

10892 except (TypeError, ValueError):

10893 raise ValueError({

10894 'error-string': """segmentation_id must be of a type compatible with uint32""",

10895 'defined-type': "uint32",

10896 'generated-type': """YANGDynClass(base=RestrictedClassType(base_type=long, restriction_dict={'range': ['0..4294967295']}, int_size=32), is_leaf=True, yang_name="segmentation_id", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='urn:etsi:osm:yang:augments:various', defining_module='various', yang_type='uint32', is_config=True)""",

10897 })

10898

10899 self.__segmentation_id = t

10900 if hasattr(self, '_set'):

10901 self._set()

10902

10903 def _unset_segmentation_id(self):

10904 self.__segmentation_id = YANGDynClass(base=RestrictedClassType(base_type=long, restriction_dict={'range': ['0..4294967295']}, int_size=32), is_leaf=True, yang_name="segmentation_id", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='urn:etsi:osm:yang:augments:various', defining_module='various', yang_type='uint32', is_config=True)

10905

10906 physical_network = __builtin__.property(_get_physical_network, _set_physical_network)

10907 segmentation_id = __builtin__.property(_get_segmentation_id, _set_segmentation_id)

10908

10909

10910 _pyangbind_elements = OrderedDict([('physical_network', physical_network), ('segmentation_id', segmentation_id), ])

10911

10912

10913 class yc_int_virtual_link_desc_etsi_nfv_vnfd__vnfd_int_virtual_link_desc(PybindBase):

10914 """

10915 This class was auto-generated by the PythonClass plugin for PYANG

10916 from YANG module etsi-nfv-vnfd - based on the path /vnfd/int-virtual-link-desc. Each member element of

10917 the container is represented as a class variable - with a specific

10918 YANG type.

10919

10920 YANG Description: Represents the type of network connectivity mandated by the

10921 VNF provider between two or more CPs which includes at

10922 least one internal CP.

10923 """

10924 __slots__ = ('_path_helper', '_extmethods', '__id','__flavour','__connectivity_type','__test_access','__description','__monitoring_parameters','__provider_network',)

10925

10926 _yang_name = 'int-virtual-link-desc'

10927 _yang_namespace = 'urn:etsi:nfv:yang:etsi-nfv-vnfd'

10928

10929 _pybind_generated_by = 'container'

10930

10931 def __init__(self, *args, **kwargs):

10932

10933 self._path_helper = False

10934

10935 self._extmethods = False

10936 self.__id = YANGDynClass(base=str, is_leaf=True, yang_name="id", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, is_keyval=True, namespace='urn:etsi:nfv:yang:etsi-nfv-vnfd', defining_module='etsi-nfv-vnfd', yang_type='string', is_config=True)

10937 self.__flavour = YANGDynClass(base=YANGListType("id",yc_flavour_etsi_nfv_vnfd__vnfd_int_virtual_link_desc_flavour, yang_name="flavour", parent=self, is_container='list', user_ordered=False, path_helper=self._path_helper, yang_keys='id', extensions=None), is_container='list', yang_name="flavour", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, extensions=None, namespace='urn:etsi:nfv:yang:etsi-nfv-vnfd', defining_module='etsi-nfv-vnfd', yang_type='list', is_config=True)

10938 self.__connectivity_type = YANGDynClass(base=yc_connectivity_type_etsi_nfv_vnfd__vnfd_int_virtual_link_desc_connectivity_type, is_container='container', yang_name="connectivity-type", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, extensions=None, namespace='urn:etsi:nfv:yang:etsi-nfv-vnfd', defining_module='etsi-nfv-vnfd', yang_type='container', is_config=True)

10939 self.__test_access = YANGDynClass(unique=True, base=TypedListType(allowed_type=str), is_leaf=False, yang_name="test-access", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='urn:etsi:nfv:yang:etsi-nfv-vnfd', defining_module='etsi-nfv-vnfd', yang_type='string', is_config=True)

10940 self.__description = YANGDynClass(base=str, is_leaf=True, yang_name="description", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='urn:etsi:nfv:yang:etsi-nfv-vnfd', defining_module='etsi-nfv-vnfd', yang_type='string', is_config=True)

10941 self.__monitoring_parameters = YANGDynClass(base=YANGListType("id",yc_monitoring_parameters_etsi_nfv_vnfd__vnfd_int_virtual_link_desc_monitoring_parameters, yang_name="monitoring-parameters", parent=self, is_container='list', user_ordered=False, path_helper=self._path_helper, yang_keys='id', extensions=None), is_container='list', yang_name="monitoring-parameters", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, extensions=None, namespace='urn:etsi:nfv:yang:etsi-nfv-vnfd', defining_module='etsi-nfv-vnfd', yang_type='list', is_config=True)

10942 self.__provider_network = YANGDynClass(base=yc_provider_network_etsi_nfv_vnfd__vnfd_int_virtual_link_desc_provider_network, is_container='container', yang_name="provider-network", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, extensions=None, namespace='urn:etsi:osm:yang:augments:various', defining_module='various', yang_type='container', is_config=True)

10943

10944 load = kwargs.pop("load", None)

10945 if args:

10946 if len(args) > 1:

10947 raise TypeError("cannot create a YANG container with >1 argument")

10948 all_attr = True

10949 for e in self._pyangbind_elements:

10950 if not hasattr(args[0], e):

10951 all_attr = False

10952 break

10953 if not all_attr:

10954 raise ValueError("Supplied object did not have the correct attributes")

10955 for e in self._pyangbind_elements:

10956 nobj = getattr(args[0], e)

10957 if nobj._changed() is False:

10958 continue

10959 setmethod = getattr(self, "_set_%s" % e)

10960 if load is None:

10961 setmethod(getattr(args[0], e))

10962 else:

10963 setmethod(getattr(args[0], e), load=load)

10964

10965 def _path(self):

10966 if hasattr(self, "_parent"):

10967 return self._parent._path()+[self._yang_name]

10968 else:

10969 return ['vnfd', 'int-virtual-link-desc']

10970

10971 def _get_id(self):

10972 """

10973 Getter method for id, mapped from YANG variable /vnfd/int_virtual_link_desc/id (string)

10974

10975 YANG Description: Unique identifier of this internal VLD in VNFD.

10976 """

10977 return self.__id

10978

10979 def _set_id(self, v, load=False):

10980 """

10981 Setter method for id, mapped from YANG variable /vnfd/int_virtual_link_desc/id (string)

10982 If this variable is read-only (config: false) in the

10983 source YANG file, then _set_id is considered as a private

10984 method. Backends looking to populate this variable should

10985 do so via calling thisObj._set_id() directly.

10986

10987 YANG Description: Unique identifier of this internal VLD in VNFD.

10988 """

10989 parent = getattr(self, "_parent", None)

10990 if parent is not None and load is False:

10991 raise AttributeError("Cannot set keys directly when" +

10992 " within an instantiated list")

10993

10994 if hasattr(v, "_utype"):

10995 v = v._utype(v)

10996 try:

10997 t = YANGDynClass(v,base=str, is_leaf=True, yang_name="id", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, is_keyval=True, namespace='urn:etsi:nfv:yang:etsi-nfv-vnfd', defining_module='etsi-nfv-vnfd', yang_type='string', is_config=True)

10998 except (TypeError, ValueError):

10999 raise ValueError({

11000 'error-string': """id must be of a type compatible with string""",

11001 'defined-type': "string",

11002 'generated-type': """YANGDynClass(base=str, is_leaf=True, yang_name="id", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, is_keyval=True, namespace='urn:etsi:nfv:yang:etsi-nfv-vnfd', defining_module='etsi-nfv-vnfd', yang_type='string', is_config=True)""",

11003 })

11004

11005 self.__id = t

11006 if hasattr(self, '_set'):

11007 self._set()

11008

11009 def _unset_id(self):

11010 self.__id = YANGDynClass(base=str, is_leaf=True, yang_name="id", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, is_keyval=True, namespace='urn:etsi:nfv:yang:etsi-nfv-vnfd', defining_module='etsi-nfv-vnfd', yang_type='string', is_config=True)

11011

11012

11013 def _get_flavour(self):

11014 """

11015 Getter method for flavour, mapped from YANG variable /vnfd/int_virtual_link_desc/flavour (list)

11016

11017 YANG Description: Describes a specific flavour of the VL with specific

11018 bitrate requirements.

11019 """

11020 return self.__flavour

11021

11022 def _set_flavour(self, v, load=False):

11023 """

11024 Setter method for flavour, mapped from YANG variable /vnfd/int_virtual_link_desc/flavour (list)

11025 If this variable is read-only (config: false) in the

11026 source YANG file, then _set_flavour is considered as a private

11027 method. Backends looking to populate this variable should

11028 do so via calling thisObj._set_flavour() directly.

11029

11030 YANG Description: Describes a specific flavour of the VL with specific

11031 bitrate requirements.

11032 """

11033 if hasattr(v, "_utype"):

11034 v = v._utype(v)

11035 try:

11036 t = YANGDynClass(v,base=YANGListType("id",yc_flavour_etsi_nfv_vnfd__vnfd_int_virtual_link_desc_flavour, yang_name="flavour", parent=self, is_container='list', user_ordered=False, path_helper=self._path_helper, yang_keys='id', extensions=None), is_container='list', yang_name="flavour", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, extensions=None, namespace='urn:etsi:nfv:yang:etsi-nfv-vnfd', defining_module='etsi-nfv-vnfd', yang_type='list', is_config=True)

11037 except (TypeError, ValueError):

11038 raise ValueError({

11039 'error-string': """flavour must be of a type compatible with list""",

11040 'defined-type': "list",

11041 'generated-type': """YANGDynClass(base=YANGListType("id",yc_flavour_etsi_nfv_vnfd__vnfd_int_virtual_link_desc_flavour, yang_name="flavour", parent=self, is_container='list', user_ordered=False, path_helper=self._path_helper, yang_keys='id', extensions=None), is_container='list', yang_name="flavour", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, extensions=None, namespace='urn:etsi:nfv:yang:etsi-nfv-vnfd', defining_module='etsi-nfv-vnfd', yang_type='list', is_config=True)""",

11042 })

11043

11044 self.__flavour = t

11045 if hasattr(self, '_set'):

11046 self._set()

11047

11048 def _unset_flavour(self):

11049 self.__flavour = YANGDynClass(base=YANGListType("id",yc_flavour_etsi_nfv_vnfd__vnfd_int_virtual_link_desc_flavour, yang_name="flavour", parent=self, is_container='list', user_ordered=False, path_helper=self._path_helper, yang_keys='id', extensions=None), is_container='list', yang_name="flavour", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, extensions=None, namespace='urn:etsi:nfv:yang:etsi-nfv-vnfd', defining_module='etsi-nfv-vnfd', yang_type='list', is_config=True)

11050

11051

11052 def _get_connectivity_type(self):

11053 """

11054 Getter method for connectivity_type, mapped from YANG variable /vnfd/int_virtual_link_desc/connectivity_type (container)

11055 """

11056 return self.__connectivity_type

11057

11058 def _set_connectivity_type(self, v, load=False):

11059 """

11060 Setter method for connectivity_type, mapped from YANG variable /vnfd/int_virtual_link_desc/connectivity_type (container)

11061 If this variable is read-only (config: false) in the

11062 source YANG file, then _set_connectivity_type is considered as a private

11063 method. Backends looking to populate this variable should

11064 do so via calling thisObj._set_connectivity_type() directly.

11065 """

11066 if hasattr(v, "_utype"):

11067 v = v._utype(v)

11068 try:

11069 t = YANGDynClass(v,base=yc_connectivity_type_etsi_nfv_vnfd__vnfd_int_virtual_link_desc_connectivity_type, is_container='container', yang_name="connectivity-type", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, extensions=None, namespace='urn:etsi:nfv:yang:etsi-nfv-vnfd', defining_module='etsi-nfv-vnfd', yang_type='container', is_config=True)

11070 except (TypeError, ValueError):

11071 raise ValueError({

11072 'error-string': """connectivity_type must be of a type compatible with container""",

11073 'defined-type': "container",

11074 'generated-type': """YANGDynClass(base=yc_connectivity_type_etsi_nfv_vnfd__vnfd_int_virtual_link_desc_connectivity_type, is_container='container', yang_name="connectivity-type", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, extensions=None, namespace='urn:etsi:nfv:yang:etsi-nfv-vnfd', defining_module='etsi-nfv-vnfd', yang_type='container', is_config=True)""",

11075 })

11076

11077 self.__connectivity_type = t

11078 if hasattr(self, '_set'):

11079 self._set()

11080

11081 def _unset_connectivity_type(self):

11082 self.__connectivity_type = YANGDynClass(base=yc_connectivity_type_etsi_nfv_vnfd__vnfd_int_virtual_link_desc_connectivity_type, is_container='container', yang_name="connectivity-type", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, extensions=None, namespace='urn:etsi:nfv:yang:etsi-nfv-vnfd', defining_module='etsi-nfv-vnfd', yang_type='container', is_config=True)

11083

11084

11085 def _get_test_access(self):

11086 """

11087 Getter method for test_access, mapped from YANG variable /vnfd/int_virtual_link_desc/test_access (string)

11088

11089 YANG Description: Specifies test access facilities expected on the VL

11090(e.g. none, passive monitoring, or active (intrusive)

11091 loopbacks at endpoints.

11092 """

11093 return self.__test_access

11094

11095 def _set_test_access(self, v, load=False):

11096 """

11097 Setter method for test_access, mapped from YANG variable /vnfd/int_virtual_link_desc/test_access (string)

11098 If this variable is read-only (config: false) in the

11099 source YANG file, then _set_test_access is considered as a private

11100 method. Backends looking to populate this variable should

11101 do so via calling thisObj._set_test_access() directly.

11102

11103 YANG Description: Specifies test access facilities expected on the VL

11104(e.g. none, passive monitoring, or active (intrusive)

11105 loopbacks at endpoints.

11106 """

11107 if hasattr(v, "_utype"):

11108 v = v._utype(v)

11109 try:

11110 t = YANGDynClass(v,unique=True, base=TypedListType(allowed_type=str), is_leaf=False, yang_name="test-access", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='urn:etsi:nfv:yang:etsi-nfv-vnfd', defining_module='etsi-nfv-vnfd', yang_type='string', is_config=True)

11111 except (TypeError, ValueError):

11112 raise ValueError({

11113 'error-string': """test_access must be of a type compatible with string""",

11114 'defined-type': "string",

11115 'generated-type': """YANGDynClass(unique=True, base=TypedListType(allowed_type=str), is_leaf=False, yang_name="test-access", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='urn:etsi:nfv:yang:etsi-nfv-vnfd', defining_module='etsi-nfv-vnfd', yang_type='string', is_config=True)""",

11116 })

11117

11118 self.__test_access = t

11119 if hasattr(self, '_set'):

11120 self._set()

11121

11122 def _unset_test_access(self):

11123 self.__test_access = YANGDynClass(unique=True, base=TypedListType(allowed_type=str), is_leaf=False, yang_name="test-access", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='urn:etsi:nfv:yang:etsi-nfv-vnfd', defining_module='etsi-nfv-vnfd', yang_type='string', is_config=True)

11124

11125

11126 def _get_description(self):

11127 """

11128 Getter method for description, mapped from YANG variable /vnfd/int_virtual_link_desc/description (string)

11129

11130 YANG Description: Provides human-readable information on the purpose of

11131 the VL (e.g. control plane traffic).

11132 """

11133 return self.__description

11134

11135 def _set_description(self, v, load=False):

11136 """

11137 Setter method for description, mapped from YANG variable /vnfd/int_virtual_link_desc/description (string)

11138 If this variable is read-only (config: false) in the

11139 source YANG file, then _set_description is considered as a private

11140 method. Backends looking to populate this variable should

11141 do so via calling thisObj._set_description() directly.

11142

11143 YANG Description: Provides human-readable information on the purpose of

11144 the VL (e.g. control plane traffic).

11145 """

11146 if hasattr(v, "_utype"):

11147 v = v._utype(v)

11148 try:

11149 t = YANGDynClass(v,base=str, is_leaf=True, yang_name="description", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='urn:etsi:nfv:yang:etsi-nfv-vnfd', defining_module='etsi-nfv-vnfd', yang_type='string', is_config=True)

11150 except (TypeError, ValueError):

11151 raise ValueError({

11152 'error-string': """description must be of a type compatible with string""",

11153 'defined-type': "string",

11154 'generated-type': """YANGDynClass(base=str, is_leaf=True, yang_name="description", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='urn:etsi:nfv:yang:etsi-nfv-vnfd', defining_module='etsi-nfv-vnfd', yang_type='string', is_config=True)""",

11155 })

11156

11157 self.__description = t

11158 if hasattr(self, '_set'):

11159 self._set()

11160

11161 def _unset_description(self):

11162 self.__description = YANGDynClass(base=str, is_leaf=True, yang_name="description", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='urn:etsi:nfv:yang:etsi-nfv-vnfd', defining_module='etsi-nfv-vnfd', yang_type='string', is_config=True)

11163

11164

11165 def _get_monitoring_parameters(self):

11166 """

11167 Getter method for monitoring_parameters, mapped from YANG variable /vnfd/int_virtual_link_desc/monitoring_parameters (list)

11168 """

11169 return self.__monitoring_parameters

11170

11171 def _set_monitoring_parameters(self, v, load=False):

11172 """

11173 Setter method for monitoring_parameters, mapped from YANG variable /vnfd/int_virtual_link_desc/monitoring_parameters (list)

11174 If this variable is read-only (config: false) in the

11175 source YANG file, then _set_monitoring_parameters is considered as a private

11176 method. Backends looking to populate this variable should

11177 do so via calling thisObj._set_monitoring_parameters() directly.

11178 """

11179 if hasattr(v, "_utype"):

11180 v = v._utype(v)

11181 try:

11182 t = YANGDynClass(v,base=YANGListType("id",yc_monitoring_parameters_etsi_nfv_vnfd__vnfd_int_virtual_link_desc_monitoring_parameters, yang_name="monitoring-parameters", parent=self, is_container='list', user_ordered=False, path_helper=self._path_helper, yang_keys='id', extensions=None), is_container='list', yang_name="monitoring-parameters", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, extensions=None, namespace='urn:etsi:nfv:yang:etsi-nfv-vnfd', defining_module='etsi-nfv-vnfd', yang_type='list', is_config=True)

11183 except (TypeError, ValueError):

11184 raise ValueError({

11185 'error-string': """monitoring_parameters must be of a type compatible with list""",

11186 'defined-type': "list",

11187 'generated-type': """YANGDynClass(base=YANGListType("id",yc_monitoring_parameters_etsi_nfv_vnfd__vnfd_int_virtual_link_desc_monitoring_parameters, yang_name="monitoring-parameters", parent=self, is_container='list', user_ordered=False, path_helper=self._path_helper, yang_keys='id', extensions=None), is_container='list', yang_name="monitoring-parameters", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, extensions=None, namespace='urn:etsi:nfv:yang:etsi-nfv-vnfd', defining_module='etsi-nfv-vnfd', yang_type='list', is_config=True)""",

11188 })

11189

11190 self.__monitoring_parameters = t

11191 if hasattr(self, '_set'):

11192 self._set()

11193

11194 def _unset_monitoring_parameters(self):

11195 self.__monitoring_parameters = YANGDynClass(base=YANGListType("id",yc_monitoring_parameters_etsi_nfv_vnfd__vnfd_int_virtual_link_desc_monitoring_parameters, yang_name="monitoring-parameters", parent=self, is_container='list', user_ordered=False, path_helper=self._path_helper, yang_keys='id', extensions=None), is_container='list', yang_name="monitoring-parameters", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, extensions=None, namespace='urn:etsi:nfv:yang:etsi-nfv-vnfd', defining_module='etsi-nfv-vnfd', yang_type='list', is_config=True)

11196

11197

11198 def _get_provider_network(self):

11199 """

11200 Getter method for provider_network, mapped from YANG variable /vnfd/int_virtual_link_desc/provider_network (container)

11201

11202 YANG Description: Container for the provider network.

11203 """

11204 return self.__provider_network

11205

11206 def _set_provider_network(self, v, load=False):

11207 """

11208 Setter method for provider_network, mapped from YANG variable /vnfd/int_virtual_link_desc/provider_network (container)

11209 If this variable is read-only (config: false) in the

11210 source YANG file, then _set_provider_network is considered as a private

11211 method. Backends looking to populate this variable should

11212 do so via calling thisObj._set_provider_network() directly.

11213

11214 YANG Description: Container for the provider network.

11215 """

11216 if hasattr(v, "_utype"):

11217 v = v._utype(v)

11218 try:

11219 t = YANGDynClass(v,base=yc_provider_network_etsi_nfv_vnfd__vnfd_int_virtual_link_desc_provider_network, is_container='container', yang_name="provider-network", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, extensions=None, namespace='urn:etsi:osm:yang:augments:various', defining_module='various', yang_type='container', is_config=True)

11220 except (TypeError, ValueError):

11221 raise ValueError({

11222 'error-string': """provider_network must be of a type compatible with container""",

11223 'defined-type': "container",

11224 'generated-type': """YANGDynClass(base=yc_provider_network_etsi_nfv_vnfd__vnfd_int_virtual_link_desc_provider_network, is_container='container', yang_name="provider-network", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, extensions=None, namespace='urn:etsi:osm:yang:augments:various', defining_module='various', yang_type='container', is_config=True)""",

11225 })

11226

11227 self.__provider_network = t

11228 if hasattr(self, '_set'):

11229 self._set()

11230

11231 def _unset_provider_network(self):

11232 self.__provider_network = YANGDynClass(base=yc_provider_network_etsi_nfv_vnfd__vnfd_int_virtual_link_desc_provider_network, is_container='container', yang_name="provider-network", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, extensions=None, namespace='urn:etsi:osm:yang:augments:various', defining_module='various', yang_type='container', is_config=True)

11233

11234 id = __builtin__.property(_get_id, _set_id)

11235 flavour = __builtin__.property(_get_flavour, _set_flavour)

11236 connectivity_type = __builtin__.property(_get_connectivity_type, _set_connectivity_type)

11237 test_access = __builtin__.property(_get_test_access, _set_test_access)

11238 description = __builtin__.property(_get_description, _set_description)

11239 monitoring_parameters = __builtin__.property(_get_monitoring_parameters, _set_monitoring_parameters)

11240 provider_network = __builtin__.property(_get_provider_network, _set_provider_network)

11241

11242

11243 _pyangbind_elements = OrderedDict([('id', id), ('flavour', flavour), ('connectivity_type', connectivity_type), ('test_access', test_access), ('description', description), ('monitoring_parameters', monitoring_parameters), ('provider_network', provider_network), ])

11244

11245

11246 class yc_security_group_rule_etsi_nfv_vnfd__vnfd_security_group_rule(PybindBase):

11247 """

11248 This class was auto-generated by the PythonClass plugin for PYANG

11249 from YANG module etsi-nfv-vnfd - based on the path /vnfd/security-group-rule. Each member element of

11250 the container is represented as a class variable - with a specific

11251 YANG type.

11252

11253 YANG Description: Defines security group rules to be used by the VNF.

11254 """

11255 __slots__ = ('_path_helper', '_extmethods', '__id','__description','__direction','__ether_type','__protocol','__port_range_min','__port_range_max',)

11256

11257 _yang_name = 'security-group-rule'

11258 _yang_namespace = 'urn:etsi:nfv:yang:etsi-nfv-vnfd'

11259

11260 _pybind_generated_by = 'container'

11261

11262 def __init__(self, *args, **kwargs):

11263

11264 self._path_helper = False

11265

11266 self._extmethods = False

11267 self.__id = YANGDynClass(base=str, is_leaf=True, yang_name="id", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, is_keyval=True, namespace='urn:etsi:nfv:yang:etsi-nfv-vnfd', defining_module='etsi-nfv-vnfd', yang_type='string', is_config=True)

11268 self.__description = YANGDynClass(base=str, is_leaf=True, yang_name="description", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='urn:etsi:nfv:yang:etsi-nfv-vnfd', defining_module='etsi-nfv-vnfd', yang_type='string', is_config=True)

11269 self.__direction = YANGDynClass(base=RestrictedClassType(base_type=str, restriction_type="dict_key", restriction_arg={'ingress': {}, 'egress': {}},), default=str("ingress"), is_leaf=True, yang_name="direction", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='urn:etsi:nfv:yang:etsi-nfv-vnfd', defining_module='etsi-nfv-vnfd', yang_type='enumeration', is_config=True)

11270 self.__ether_type = YANGDynClass(base=RestrictedClassType(base_type=str, restriction_type="dict_key", restriction_arg={'ipv4': {}, 'ipv6': {}},), default=str("ipv4"), is_leaf=True, yang_name="ether-type", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='urn:etsi:nfv:yang:etsi-nfv-vnfd', defining_module='etsi-nfv-vnfd', yang_type='enumeration', is_config=True)

11271 self.__protocol = YANGDynClass(base=RestrictedClassType(base_type=str, restriction_type="dict_key", restriction_arg={'tcp': {}, 'udp': {}, 'icmp': {}},), default=str("tcp"), is_leaf=True, yang_name="protocol", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='urn:etsi:nfv:yang:etsi-nfv-vnfd', defining_module='etsi-nfv-vnfd', yang_type='enumeration', is_config=True)

11272 self.__port_range_min = YANGDynClass(base=RestrictedClassType(base_type=int, restriction_dict={'range': ['0..65535']},int_size=16), default=RestrictedClassType(base_type=int, restriction_dict={'range': ['0..65535']},int_size=16)(0), is_leaf=True, yang_name="port-range-min", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='urn:etsi:nfv:yang:etsi-nfv-vnfd', defining_module='etsi-nfv-vnfd', yang_type='uint16', is_config=True)

11273 self.__port_range_max = YANGDynClass(base=RestrictedClassType(base_type=int, restriction_dict={'range': ['0..65535']},int_size=16), default=RestrictedClassType(base_type=int, restriction_dict={'range': ['0..65535']},int_size=16)(65535), is_leaf=True, yang_name="port-range-max", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='urn:etsi:nfv:yang:etsi-nfv-vnfd', defining_module='etsi-nfv-vnfd', yang_type='uint16', is_config=True)

11274

11275 load = kwargs.pop("load", None)

11276 if args:

11277 if len(args) > 1:

11278 raise TypeError("cannot create a YANG container with >1 argument")

11279 all_attr = True

11280 for e in self._pyangbind_elements:

11281 if not hasattr(args[0], e):

11282 all_attr = False

11283 break

11284 if not all_attr:

11285 raise ValueError("Supplied object did not have the correct attributes")

11286 for e in self._pyangbind_elements:

11287 nobj = getattr(args[0], e)

11288 if nobj._changed() is False:

11289 continue

11290 setmethod = getattr(self, "_set_%s" % e)

11291 if load is None:

11292 setmethod(getattr(args[0], e))

11293 else:

11294 setmethod(getattr(args[0], e), load=load)

11295

11296 def _path(self):

11297 if hasattr(self, "_parent"):

11298 return self._parent._path()+[self._yang_name]

11299 else:

11300 return ['vnfd', 'security-group-rule']

11301

11302 def _get_id(self):

11303 """

11304 Getter method for id, mapped from YANG variable /vnfd/security_group_rule/id (string)

11305

11306 YANG Description: Identifier of this SecurityGroupRule information

11307 element.

11308 """

11309 return self.__id

11310

11311 def _set_id(self, v, load=False):

11312 """

11313 Setter method for id, mapped from YANG variable /vnfd/security_group_rule/id (string)

11314 If this variable is read-only (config: false) in the

11315 source YANG file, then _set_id is considered as a private

11316 method. Backends looking to populate this variable should

11317 do so via calling thisObj._set_id() directly.

11318

11319 YANG Description: Identifier of this SecurityGroupRule information

11320 element.

11321 """

11322 parent = getattr(self, "_parent", None)

11323 if parent is not None and load is False:

11324 raise AttributeError("Cannot set keys directly when" +

11325 " within an instantiated list")

11326

11327 if hasattr(v, "_utype"):

11328 v = v._utype(v)

11329 try:

11330 t = YANGDynClass(v,base=str, is_leaf=True, yang_name="id", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, is_keyval=True, namespace='urn:etsi:nfv:yang:etsi-nfv-vnfd', defining_module='etsi-nfv-vnfd', yang_type='string', is_config=True)

11331 except (TypeError, ValueError):

11332 raise ValueError({

11333 'error-string': """id must be of a type compatible with string""",

11334 'defined-type': "string",

11335 'generated-type': """YANGDynClass(base=str, is_leaf=True, yang_name="id", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, is_keyval=True, namespace='urn:etsi:nfv:yang:etsi-nfv-vnfd', defining_module='etsi-nfv-vnfd', yang_type='string', is_config=True)""",

11336 })

11337

11338 self.__id = t

11339 if hasattr(self, '_set'):

11340 self._set()

11341

11342 def _unset_id(self):

11343 self.__id = YANGDynClass(base=str, is_leaf=True, yang_name="id", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, is_keyval=True, namespace='urn:etsi:nfv:yang:etsi-nfv-vnfd', defining_module='etsi-nfv-vnfd', yang_type='string', is_config=True)

11344

11345

11346 def _get_description(self):

11347 """

11348 Getter method for description, mapped from YANG variable /vnfd/security_group_rule/description (string)

11349

11350 YANG Description: Human readable description of the security group rule.

11351 """

11352 return self.__description

11353

11354 def _set_description(self, v, load=False):

11355 """

11356 Setter method for description, mapped from YANG variable /vnfd/security_group_rule/description (string)

11357 If this variable is read-only (config: false) in the

11358 source YANG file, then _set_description is considered as a private

11359 method. Backends looking to populate this variable should

11360 do so via calling thisObj._set_description() directly.

11361

11362 YANG Description: Human readable description of the security group rule.

11363 """

11364 if hasattr(v, "_utype"):

11365 v = v._utype(v)

11366 try:

11367 t = YANGDynClass(v,base=str, is_leaf=True, yang_name="description", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='urn:etsi:nfv:yang:etsi-nfv-vnfd', defining_module='etsi-nfv-vnfd', yang_type='string', is_config=True)

11368 except (TypeError, ValueError):

11369 raise ValueError({

11370 'error-string': """description must be of a type compatible with string""",

11371 'defined-type': "string",

11372 'generated-type': """YANGDynClass(base=str, is_leaf=True, yang_name="description", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='urn:etsi:nfv:yang:etsi-nfv-vnfd', defining_module='etsi-nfv-vnfd', yang_type='string', is_config=True)""",

11373 })

11374

11375 self.__description = t

11376 if hasattr(self, '_set'):

11377 self._set()

11378

11379 def _unset_description(self):

11380 self.__description = YANGDynClass(base=str, is_leaf=True, yang_name="description", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='urn:etsi:nfv:yang:etsi-nfv-vnfd', defining_module='etsi-nfv-vnfd', yang_type='string', is_config=True)

11381

11382

11383 def _get_direction(self):

11384 """

11385 Getter method for direction, mapped from YANG variable /vnfd/security_group_rule/direction (enumeration)

11386

11387 YANG Description: The direction in which the security group rule is applied.

11388 Permitted values: INGRESS, EGRESS. Defaults to INGRESS.

11389 """

11390 return self.__direction

11391

11392 def _set_direction(self, v, load=False):

11393 """

11394 Setter method for direction, mapped from YANG variable /vnfd/security_group_rule/direction (enumeration)

11395 If this variable is read-only (config: false) in the

11396 source YANG file, then _set_direction is considered as a private

11397 method. Backends looking to populate this variable should

11398 do so via calling thisObj._set_direction() directly.

11399

11400 YANG Description: The direction in which the security group rule is applied.

11401 Permitted values: INGRESS, EGRESS. Defaults to INGRESS.

11402 """

11403 if hasattr(v, "_utype"):

11404 v = v._utype(v)

11405 try:

11406 t = YANGDynClass(v,base=RestrictedClassType(base_type=str, restriction_type="dict_key", restriction_arg={'ingress': {}, 'egress': {}},), default=str("ingress"), is_leaf=True, yang_name="direction", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='urn:etsi:nfv:yang:etsi-nfv-vnfd', defining_module='etsi-nfv-vnfd', yang_type='enumeration', is_config=True)

11407 except (TypeError, ValueError):

11408 raise ValueError({

11409 'error-string': """direction must be of a type compatible with enumeration""",

11410 'defined-type': "etsi-nfv-vnfd:enumeration",

11411 'generated-type': """YANGDynClass(base=RestrictedClassType(base_type=str, restriction_type="dict_key", restriction_arg={'ingress': {}, 'egress': {}},), default=str("ingress"), is_leaf=True, yang_name="direction", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='urn:etsi:nfv:yang:etsi-nfv-vnfd', defining_module='etsi-nfv-vnfd', yang_type='enumeration', is_config=True)""",

11412 })

11413

11414 self.__direction = t

11415 if hasattr(self, '_set'):

11416 self._set()

11417

11418 def _unset_direction(self):

11419 self.__direction = YANGDynClass(base=RestrictedClassType(base_type=str, restriction_type="dict_key", restriction_arg={'ingress': {}, 'egress': {}},), default=str("ingress"), is_leaf=True, yang_name="direction", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='urn:etsi:nfv:yang:etsi-nfv-vnfd', defining_module='etsi-nfv-vnfd', yang_type='enumeration', is_config=True)

11420

11421

11422 def _get_ether_type(self):

11423 """

11424 Getter method for ether_type, mapped from YANG variable /vnfd/security_group_rule/ether_type (enumeration)

11425

11426 YANG Description: Indicates the protocol carried over the Ethernet layer.

11427 Permitted values: IPV4, IPV6. Defaults to IPV4.

11428 """

11429 return self.__ether_type

11430

11431 def _set_ether_type(self, v, load=False):

11432 """

11433 Setter method for ether_type, mapped from YANG variable /vnfd/security_group_rule/ether_type (enumeration)

11434 If this variable is read-only (config: false) in the

11435 source YANG file, then _set_ether_type is considered as a private

11436 method. Backends looking to populate this variable should

11437 do so via calling thisObj._set_ether_type() directly.

11438

11439 YANG Description: Indicates the protocol carried over the Ethernet layer.

11440 Permitted values: IPV4, IPV6. Defaults to IPV4.

11441 """

11442 if hasattr(v, "_utype"):

11443 v = v._utype(v)

11444 try:

11445 t = YANGDynClass(v,base=RestrictedClassType(base_type=str, restriction_type="dict_key", restriction_arg={'ipv4': {}, 'ipv6': {}},), default=str("ipv4"), is_leaf=True, yang_name="ether-type", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='urn:etsi:nfv:yang:etsi-nfv-vnfd', defining_module='etsi-nfv-vnfd', yang_type='enumeration', is_config=True)

11446 except (TypeError, ValueError):

11447 raise ValueError({

11448 'error-string': """ether_type must be of a type compatible with enumeration""",

11449 'defined-type': "etsi-nfv-vnfd:enumeration",

11450 'generated-type': """YANGDynClass(base=RestrictedClassType(base_type=str, restriction_type="dict_key", restriction_arg={'ipv4': {}, 'ipv6': {}},), default=str("ipv4"), is_leaf=True, yang_name="ether-type", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='urn:etsi:nfv:yang:etsi-nfv-vnfd', defining_module='etsi-nfv-vnfd', yang_type='enumeration', is_config=True)""",

11451 })

11452

11453 self.__ether_type = t

11454 if hasattr(self, '_set'):

11455 self._set()

11456

11457 def _unset_ether_type(self):

11458 self.__ether_type = YANGDynClass(base=RestrictedClassType(base_type=str, restriction_type="dict_key", restriction_arg={'ipv4': {}, 'ipv6': {}},), default=str("ipv4"), is_leaf=True, yang_name="ether-type", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='urn:etsi:nfv:yang:etsi-nfv-vnfd', defining_module='etsi-nfv-vnfd', yang_type='enumeration', is_config=True)

11459

11460

11461 def _get_protocol(self):

11462 """

11463 Getter method for protocol, mapped from YANG variable /vnfd/security_group_rule/protocol (enumeration)

11464

11465 YANG Description: Indicates the protocol carried over the IP layer.

11466 Permitted values: any protocol defined in the IANA

11467 protocol registry, e.g. TCP, UDP, ICMP, etc. Defaults

11468 to TCP.

11469 """

11470 return self.__protocol

11471

11472 def _set_protocol(self, v, load=False):

11473 """

11474 Setter method for protocol, mapped from YANG variable /vnfd/security_group_rule/protocol (enumeration)

11475 If this variable is read-only (config: false) in the

11476 source YANG file, then _set_protocol is considered as a private

11477 method. Backends looking to populate this variable should

11478 do so via calling thisObj._set_protocol() directly.

11479

11480 YANG Description: Indicates the protocol carried over the IP layer.

11481 Permitted values: any protocol defined in the IANA

11482 protocol registry, e.g. TCP, UDP, ICMP, etc. Defaults

11483 to TCP.

11484 """

11485 if hasattr(v, "_utype"):

11486 v = v._utype(v)

11487 try:

11488 t = YANGDynClass(v,base=RestrictedClassType(base_type=str, restriction_type="dict_key", restriction_arg={'tcp': {}, 'udp': {}, 'icmp': {}},), default=str("tcp"), is_leaf=True, yang_name="protocol", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='urn:etsi:nfv:yang:etsi-nfv-vnfd', defining_module='etsi-nfv-vnfd', yang_type='enumeration', is_config=True)

11489 except (TypeError, ValueError):

11490 raise ValueError({

11491 'error-string': """protocol must be of a type compatible with enumeration""",

11492 'defined-type': "etsi-nfv-vnfd:enumeration",

11493 'generated-type': """YANGDynClass(base=RestrictedClassType(base_type=str, restriction_type="dict_key", restriction_arg={'tcp': {}, 'udp': {}, 'icmp': {}},), default=str("tcp"), is_leaf=True, yang_name="protocol", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='urn:etsi:nfv:yang:etsi-nfv-vnfd', defining_module='etsi-nfv-vnfd', yang_type='enumeration', is_config=True)""",

11494 })

11495

11496 self.__protocol = t

11497 if hasattr(self, '_set'):

11498 self._set()

11499

11500 def _unset_protocol(self):

11501 self.__protocol = YANGDynClass(base=RestrictedClassType(base_type=str, restriction_type="dict_key", restriction_arg={'tcp': {}, 'udp': {}, 'icmp': {}},), default=str("tcp"), is_leaf=True, yang_name="protocol", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='urn:etsi:nfv:yang:etsi-nfv-vnfd', defining_module='etsi-nfv-vnfd', yang_type='enumeration', is_config=True)

11502

11503

11504 def _get_port_range_min(self):

11505 """

11506 Getter method for port_range_min, mapped from YANG variable /vnfd/security_group_rule/port_range_min (uint16)

11507

11508 YANG Description: Indicates minimum port number in the range that is

11509 matched by the security group rule. Defaults to 0.

11510 """

11511 return self.__port_range_min

11512

11513 def _set_port_range_min(self, v, load=False):

11514 """

11515 Setter method for port_range_min, mapped from YANG variable /vnfd/security_group_rule/port_range_min (uint16)

11516 If this variable is read-only (config: false) in the

11517 source YANG file, then _set_port_range_min is considered as a private

11518 method. Backends looking to populate this variable should

11519 do so via calling thisObj._set_port_range_min() directly.

11520

11521 YANG Description: Indicates minimum port number in the range that is

11522 matched by the security group rule. Defaults to 0.

11523 """

11524 if hasattr(v, "_utype"):

11525 v = v._utype(v)

11526 try:

11527 t = YANGDynClass(v,base=RestrictedClassType(base_type=int, restriction_dict={'range': ['0..65535']},int_size=16), default=RestrictedClassType(base_type=int, restriction_dict={'range': ['0..65535']},int_size=16)(0), is_leaf=True, yang_name="port-range-min", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='urn:etsi:nfv:yang:etsi-nfv-vnfd', defining_module='etsi-nfv-vnfd', yang_type='uint16', is_config=True)

11528 except (TypeError, ValueError):

11529 raise ValueError({

11530 'error-string': """port_range_min must be of a type compatible with uint16""",

11531 'defined-type': "uint16",

11532 'generated-type': """YANGDynClass(base=RestrictedClassType(base_type=int, restriction_dict={'range': ['0..65535']},int_size=16), default=RestrictedClassType(base_type=int, restriction_dict={'range': ['0..65535']},int_size=16)(0), is_leaf=True, yang_name="port-range-min", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='urn:etsi:nfv:yang:etsi-nfv-vnfd', defining_module='etsi-nfv-vnfd', yang_type='uint16', is_config=True)""",

11533 })

11534

11535 self.__port_range_min = t

11536 if hasattr(self, '_set'):

11537 self._set()

11538

11539 def _unset_port_range_min(self):

11540 self.__port_range_min = YANGDynClass(base=RestrictedClassType(base_type=int, restriction_dict={'range': ['0..65535']},int_size=16), default=RestrictedClassType(base_type=int, restriction_dict={'range': ['0..65535']},int_size=16)(0), is_leaf=True, yang_name="port-range-min", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='urn:etsi:nfv:yang:etsi-nfv-vnfd', defining_module='etsi-nfv-vnfd', yang_type='uint16', is_config=True)

11541

11542

11543 def _get_port_range_max(self):

11544 """

11545 Getter method for port_range_max, mapped from YANG variable /vnfd/security_group_rule/port_range_max (uint16)

11546

11547 YANG Description: Indicates maximum port number in the range that is

11548 matched by the security group rule. Defaults to 65535.

11549 """

11550 return self.__port_range_max

11551

11552 def _set_port_range_max(self, v, load=False):

11553 """

11554 Setter method for port_range_max, mapped from YANG variable /vnfd/security_group_rule/port_range_max (uint16)

11555 If this variable is read-only (config: false) in the

11556 source YANG file, then _set_port_range_max is considered as a private

11557 method. Backends looking to populate this variable should

11558 do so via calling thisObj._set_port_range_max() directly.

11559

11560 YANG Description: Indicates maximum port number in the range that is

11561 matched by the security group rule. Defaults to 65535.

11562 """

11563 if hasattr(v, "_utype"):

11564 v = v._utype(v)

11565 try:

11566 t = YANGDynClass(v,base=RestrictedClassType(base_type=int, restriction_dict={'range': ['0..65535']},int_size=16), default=RestrictedClassType(base_type=int, restriction_dict={'range': ['0..65535']},int_size=16)(65535), is_leaf=True, yang_name="port-range-max", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='urn:etsi:nfv:yang:etsi-nfv-vnfd', defining_module='etsi-nfv-vnfd', yang_type='uint16', is_config=True)

11567 except (TypeError, ValueError):

11568 raise ValueError({

11569 'error-string': """port_range_max must be of a type compatible with uint16""",

11570 'defined-type': "uint16",

11571 'generated-type': """YANGDynClass(base=RestrictedClassType(base_type=int, restriction_dict={'range': ['0..65535']},int_size=16), default=RestrictedClassType(base_type=int, restriction_dict={'range': ['0..65535']},int_size=16)(65535), is_leaf=True, yang_name="port-range-max", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='urn:etsi:nfv:yang:etsi-nfv-vnfd', defining_module='etsi-nfv-vnfd', yang_type='uint16', is_config=True)""",

11572 })

11573

11574 self.__port_range_max = t

11575 if hasattr(self, '_set'):

11576 self._set()

11577

11578 def _unset_port_range_max(self):

11579 self.__port_range_max = YANGDynClass(base=RestrictedClassType(base_type=int, restriction_dict={'range': ['0..65535']},int_size=16), default=RestrictedClassType(base_type=int, restriction_dict={'range': ['0..65535']},int_size=16)(65535), is_leaf=True, yang_name="port-range-max", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='urn:etsi:nfv:yang:etsi-nfv-vnfd', defining_module='etsi-nfv-vnfd', yang_type='uint16', is_config=True)

11580

11581 id = __builtin__.property(_get_id, _set_id)

11582 description = __builtin__.property(_get_description, _set_description)

11583 direction = __builtin__.property(_get_direction, _set_direction)

11584 ether_type = __builtin__.property(_get_ether_type, _set_ether_type)

11585 protocol = __builtin__.property(_get_protocol, _set_protocol)

11586 port_range_min = __builtin__.property(_get_port_range_min, _set_port_range_min)

11587 port_range_max = __builtin__.property(_get_port_range_max, _set_port_range_max)

11588

11589

11590 _pyangbind_elements = OrderedDict([('id', id), ('description', description), ('direction', direction), ('ether_type', ether_type), ('protocol', protocol), ('port_range_min', port_range_min), ('port_range_max', port_range_max), ])

11591

11592

11593 class yc_int_cpd_etsi_nfv_vnfd__vnfd_ext_cpd_int_cpd(PybindBase):

11594 """

11595 This class was auto-generated by the PythonClass plugin for PYANG

11596 from YANG module etsi-nfv-vnfd - based on the path /vnfd/ext-cpd/int-cpd. Each member element of

11597 the container is represented as a class variable - with a specific

11598 YANG type.

11599 """

11600 __slots__ = ('_path_helper', '_extmethods', '__vdu_id','__cpd',)

11601

11602 _yang_name = 'int-cpd'

11603 _yang_namespace = 'urn:etsi:nfv:yang:etsi-nfv-vnfd'

11604

11605 _pybind_generated_by = 'container'

11606

11607 def __init__(self, *args, **kwargs):

11608

11609 self._path_helper = False

11610

11611 self._extmethods = False

11612 self.__vdu_id = YANGDynClass(base=str, is_leaf=True, yang_name="vdu-id", parent=self, choice=('cp-connection', 'int-cpd'), path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='urn:etsi:nfv:yang:etsi-nfv-vnfd', defining_module='etsi-nfv-vnfd', yang_type='leafref', is_config=True)

11613 self.__cpd = YANGDynClass(base=str, is_leaf=True, yang_name="cpd", parent=self, choice=('cp-connection', 'int-cpd'), path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='urn:etsi:nfv:yang:etsi-nfv-vnfd', defining_module='etsi-nfv-vnfd', yang_type='leafref', is_config=True)

11614

11615 load = kwargs.pop("load", None)

11616 if args:

11617 if len(args) > 1:

11618 raise TypeError("cannot create a YANG container with >1 argument")

11619 all_attr = True

11620 for e in self._pyangbind_elements:

11621 if not hasattr(args[0], e):

11622 all_attr = False

11623 break

11624 if not all_attr:

11625 raise ValueError("Supplied object did not have the correct attributes")

11626 for e in self._pyangbind_elements:

11627 nobj = getattr(args[0], e)

11628 if nobj._changed() is False:

11629 continue

11630 setmethod = getattr(self, "_set_%s" % e)

11631 if load is None:

11632 setmethod(getattr(args[0], e))

11633 else:

11634 setmethod(getattr(args[0], e), load=load)

11635

11636 def _path(self):

11637 if hasattr(self, "_parent"):

11638 return self._parent._path()+[self._yang_name]

11639 else:

11640 return ['vnfd', 'ext-cpd', 'int-cpd']

11641

11642 def _get_vdu_id(self):

11643 """

11644 Getter method for vdu_id, mapped from YANG variable /vnfd/ext_cpd/int_cpd/vdu_id (leafref)

11645 """

11646 return self.__vdu_id

11647

11648 def _set_vdu_id(self, v, load=False):

11649 """

11650 Setter method for vdu_id, mapped from YANG variable /vnfd/ext_cpd/int_cpd/vdu_id (leafref)

11651 If this variable is read-only (config: false) in the

11652 source YANG file, then _set_vdu_id is considered as a private

11653 method. Backends looking to populate this variable should

11654 do so via calling thisObj._set_vdu_id() directly.

11655 """

11656 if hasattr(v, "_utype"):

11657 v = v._utype(v)

11658 try:

11659 t = YANGDynClass(v,base=str, is_leaf=True, yang_name="vdu-id", parent=self, choice=('cp-connection', 'int-cpd'), path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='urn:etsi:nfv:yang:etsi-nfv-vnfd', defining_module='etsi-nfv-vnfd', yang_type='leafref', is_config=True)

11660 except (TypeError, ValueError):

11661 raise ValueError({

11662 'error-string': """vdu_id must be of a type compatible with leafref""",

11663 'defined-type': "leafref",

11664 'generated-type': """YANGDynClass(base=str, is_leaf=True, yang_name="vdu-id", parent=self, choice=('cp-connection', 'int-cpd'), path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='urn:etsi:nfv:yang:etsi-nfv-vnfd', defining_module='etsi-nfv-vnfd', yang_type='leafref', is_config=True)""",

11665 })

11666

11667 self.__vdu_id = t

11668 if hasattr(self, '_set'):

11669 self._set()

11670

11671 def _unset_vdu_id(self):

11672 self.__vdu_id = YANGDynClass(base=str, is_leaf=True, yang_name="vdu-id", parent=self, choice=('cp-connection', 'int-cpd'), path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='urn:etsi:nfv:yang:etsi-nfv-vnfd', defining_module='etsi-nfv-vnfd', yang_type='leafref', is_config=True)

11673

11674

11675 def _get_cpd(self):

11676 """

11677 Getter method for cpd, mapped from YANG variable /vnfd/ext_cpd/int_cpd/cpd (leafref)

11678 """

11679 return self.__cpd

11680

11681 def _set_cpd(self, v, load=False):

11682 """

11683 Setter method for cpd, mapped from YANG variable /vnfd/ext_cpd/int_cpd/cpd (leafref)

11684 If this variable is read-only (config: false) in the

11685 source YANG file, then _set_cpd is considered as a private

11686 method. Backends looking to populate this variable should

11687 do so via calling thisObj._set_cpd() directly.

11688 """

11689 if hasattr(v, "_utype"):

11690 v = v._utype(v)

11691 try:

11692 t = YANGDynClass(v,base=str, is_leaf=True, yang_name="cpd", parent=self, choice=('cp-connection', 'int-cpd'), path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='urn:etsi:nfv:yang:etsi-nfv-vnfd', defining_module='etsi-nfv-vnfd', yang_type='leafref', is_config=True)

11693 except (TypeError, ValueError):

11694 raise ValueError({

11695 'error-string': """cpd must be of a type compatible with leafref""",

11696 'defined-type': "leafref",

11697 'generated-type': """YANGDynClass(base=str, is_leaf=True, yang_name="cpd", parent=self, choice=('cp-connection', 'int-cpd'), path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='urn:etsi:nfv:yang:etsi-nfv-vnfd', defining_module='etsi-nfv-vnfd', yang_type='leafref', is_config=True)""",

11698 })

11699

11700 self.__cpd = t

11701 if hasattr(self, '_set'):

11702 self._set()

11703

11704 def _unset_cpd(self):

11705 self.__cpd = YANGDynClass(base=str, is_leaf=True, yang_name="cpd", parent=self, choice=('cp-connection', 'int-cpd'), path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='urn:etsi:nfv:yang:etsi-nfv-vnfd', defining_module='etsi-nfv-vnfd', yang_type='leafref', is_config=True)

11706

11707 vdu_id = __builtin__.property(_get_vdu_id, _set_vdu_id)

11708 cpd = __builtin__.property(_get_cpd, _set_cpd)

11709

11710 __choices__ = {'cp-connection': {'int-cpd': ['vdu_id', 'cpd']}}

11711 _pyangbind_elements = OrderedDict([('vdu_id', vdu_id), ('cpd', cpd), ])

11712

11713

11714 class yc_network_interface_requirements_etsi_nfv_vnfd__vnfd_ext_cpd_virtual_network_interface_requirement_network_interface_requirements(PybindBase):

11715 """

11716 This class was auto-generated by the PythonClass plugin for PYANG

11717 from YANG module etsi-nfv-vnfd - based on the path /vnfd/ext-cpd/virtual-network-interface-requirement/network-interface-requirements. Each member element of

11718 the container is represented as a class variable - with a specific

11719 YANG type.

11720

11721 YANG Description: The network interface requirements. An element from an

11722 array of key-value pairs that articulate the network

11723 interface deployment requirements.

11724 """

11725 __slots__ = ('_path_helper', '_extmethods', '__key','__value',)

11726

11727 _yang_name = 'network-interface-requirements'

11728 _yang_namespace = 'urn:etsi:nfv:yang:etsi-nfv-vnfd'

11729

11730 _pybind_generated_by = 'container'

11731

11732 def __init__(self, *args, **kwargs):

11733

11734 self._path_helper = False

11735

11736 self._extmethods = False

11737 self.__key = YANGDynClass(base=str, is_leaf=True, yang_name="key", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, is_keyval=True, namespace='urn:etsi:nfv:yang:etsi-nfv-vnfd', defining_module='etsi-nfv-vnfd', yang_type='string', is_config=True)

11738 self.__value = YANGDynClass(base=str, is_leaf=True, yang_name="value", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='urn:etsi:nfv:yang:etsi-nfv-vnfd', defining_module='etsi-nfv-vnfd', yang_type='string', is_config=True)

11739

11740 load = kwargs.pop("load", None)

11741 if args:

11742 if len(args) > 1:

11743 raise TypeError("cannot create a YANG container with >1 argument")

11744 all_attr = True

11745 for e in self._pyangbind_elements:

11746 if not hasattr(args[0], e):

11747 all_attr = False

11748 break

11749 if not all_attr:

11750 raise ValueError("Supplied object did not have the correct attributes")

11751 for e in self._pyangbind_elements:

11752 nobj = getattr(args[0], e)

11753 if nobj._changed() is False:

11754 continue

11755 setmethod = getattr(self, "_set_%s" % e)

11756 if load is None:

11757 setmethod(getattr(args[0], e))

11758 else:

11759 setmethod(getattr(args[0], e), load=load)

11760

11761 def _path(self):

11762 if hasattr(self, "_parent"):

11763 return self._parent._path()+[self._yang_name]

11764 else:

11765 return ['vnfd', 'ext-cpd', 'virtual-network-interface-requirement', 'network-interface-requirements']

11766

11767 def _get_key(self):

11768 """

11769 Getter method for key, mapped from YANG variable /vnfd/ext_cpd/virtual_network_interface_requirement/network_interface_requirements/key (string)

11770 """

11771 return self.__key

11772

11773 def _set_key(self, v, load=False):

11774 """

11775 Setter method for key, mapped from YANG variable /vnfd/ext_cpd/virtual_network_interface_requirement/network_interface_requirements/key (string)

11776 If this variable is read-only (config: false) in the

11777 source YANG file, then _set_key is considered as a private

11778 method. Backends looking to populate this variable should

11779 do so via calling thisObj._set_key() directly.

11780 """

11781 parent = getattr(self, "_parent", None)

11782 if parent is not None and load is False:

11783 raise AttributeError("Cannot set keys directly when" +

11784 " within an instantiated list")

11785

11786 if hasattr(v, "_utype"):

11787 v = v._utype(v)

11788 try:

11789 t = YANGDynClass(v,base=str, is_leaf=True, yang_name="key", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, is_keyval=True, namespace='urn:etsi:nfv:yang:etsi-nfv-vnfd', defining_module='etsi-nfv-vnfd', yang_type='string', is_config=True)

11790 except (TypeError, ValueError):

11791 raise ValueError({

11792 'error-string': """key must be of a type compatible with string""",

11793 'defined-type': "string",

11794 'generated-type': """YANGDynClass(base=str, is_leaf=True, yang_name="key", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, is_keyval=True, namespace='urn:etsi:nfv:yang:etsi-nfv-vnfd', defining_module='etsi-nfv-vnfd', yang_type='string', is_config=True)""",

11795 })

11796

11797 self.__key = t

11798 if hasattr(self, '_set'):

11799 self._set()

11800

11801 def _unset_key(self):

11802 self.__key = YANGDynClass(base=str, is_leaf=True, yang_name="key", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, is_keyval=True, namespace='urn:etsi:nfv:yang:etsi-nfv-vnfd', defining_module='etsi-nfv-vnfd', yang_type='string', is_config=True)

11803

11804

11805 def _get_value(self):

11806 """

11807 Getter method for value, mapped from YANG variable /vnfd/ext_cpd/virtual_network_interface_requirement/network_interface_requirements/value (string)

11808 """

11809 return self.__value

11810

11811 def _set_value(self, v, load=False):

11812 """

11813 Setter method for value, mapped from YANG variable /vnfd/ext_cpd/virtual_network_interface_requirement/network_interface_requirements/value (string)

11814 If this variable is read-only (config: false) in the

11815 source YANG file, then _set_value is considered as a private

11816 method. Backends looking to populate this variable should

11817 do so via calling thisObj._set_value() directly.

11818 """

11819 if hasattr(v, "_utype"):

11820 v = v._utype(v)

11821 try:

11822 t = YANGDynClass(v,base=str, is_leaf=True, yang_name="value", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='urn:etsi:nfv:yang:etsi-nfv-vnfd', defining_module='etsi-nfv-vnfd', yang_type='string', is_config=True)

11823 except (TypeError, ValueError):

11824 raise ValueError({

11825 'error-string': """value must be of a type compatible with string""",

11826 'defined-type': "string",

11827 'generated-type': """YANGDynClass(base=str, is_leaf=True, yang_name="value", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='urn:etsi:nfv:yang:etsi-nfv-vnfd', defining_module='etsi-nfv-vnfd', yang_type='string', is_config=True)""",

11828 })

11829

11830 self.__value = t

11831 if hasattr(self, '_set'):

11832 self._set()

11833

11834 def _unset_value(self):

11835 self.__value = YANGDynClass(base=str, is_leaf=True, yang_name="value", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='urn:etsi:nfv:yang:etsi-nfv-vnfd', defining_module='etsi-nfv-vnfd', yang_type='string', is_config=True)

11836

11837 key = __builtin__.property(_get_key, _set_key)

11838 value = __builtin__.property(_get_value, _set_value)

11839

11840

11841 _pyangbind_elements = OrderedDict([('key', key), ('value', value), ])

11842

11843

11844 class yc_virtual_network_interface_requirement_etsi_nfv_vnfd__vnfd_ext_cpd_virtual_network_interface_requirement(PybindBase):

11845 """

11846 This class was auto-generated by the PythonClass plugin for PYANG

11847 from YANG module etsi-nfv-vnfd - based on the path /vnfd/ext-cpd/virtual-network-interface-requirement. Each member element of

11848 the container is represented as a class variable - with a specific

11849 YANG type.

11850

11851 YANG Description: Specifies requirements on a virtual network interface

11852 realising the CPs instantiated from this CPD.

11853 """

11854 __slots__ = ('_path_helper', '_extmethods', '__name','__description','__support_mandatory','__network_interface_requirements',)

11855

11856 _yang_name = 'virtual-network-interface-requirement'

11857 _yang_namespace = 'urn:etsi:nfv:yang:etsi-nfv-vnfd'

11858

11859 _pybind_generated_by = 'container'

11860

11861 def __init__(self, *args, **kwargs):

11862

11863 self._path_helper = False

11864

11865 self._extmethods = False

11866 self.__name = YANGDynClass(base=str, is_leaf=True, yang_name="name", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, is_keyval=True, namespace='urn:etsi:nfv:yang:etsi-nfv-vnfd', defining_module='etsi-nfv-vnfd', yang_type='string', is_config=True)

11867 self.__description = YANGDynClass(base=str, is_leaf=True, yang_name="description", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='urn:etsi:nfv:yang:etsi-nfv-vnfd', defining_module='etsi-nfv-vnfd', yang_type='string', is_config=True)

11868 self.__support_mandatory = YANGDynClass(base=YANGBool, default=YANGBool("false"), is_leaf=True, yang_name="support-mandatory", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='urn:etsi:nfv:yang:etsi-nfv-vnfd', defining_module='etsi-nfv-vnfd', yang_type='boolean', is_config=True)

11869 self.__network_interface_requirements = YANGDynClass(base=YANGListType("key",yc_network_interface_requirements_etsi_nfv_vnfd__vnfd_ext_cpd_virtual_network_interface_requirement_network_interface_requirements, yang_name="network-interface-requirements", parent=self, is_container='list', user_ordered=False, path_helper=self._path_helper, yang_keys='key', extensions=None), is_container='list', yang_name="network-interface-requirements", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, extensions=None, namespace='urn:etsi:nfv:yang:etsi-nfv-vnfd', defining_module='etsi-nfv-vnfd', yang_type='list', is_config=True)

11870

11871 load = kwargs.pop("load", None)

11872 if args:

11873 if len(args) > 1:

11874 raise TypeError("cannot create a YANG container with >1 argument")

11875 all_attr = True

11876 for e in self._pyangbind_elements:

11877 if not hasattr(args[0], e):

11878 all_attr = False

11879 break

11880 if not all_attr:

11881 raise ValueError("Supplied object did not have the correct attributes")

11882 for e in self._pyangbind_elements:

11883 nobj = getattr(args[0], e)

11884 if nobj._changed() is False:

11885 continue

11886 setmethod = getattr(self, "_set_%s" % e)

11887 if load is None:

11888 setmethod(getattr(args[0], e))

11889 else:

11890 setmethod(getattr(args[0], e), load=load)

11891

11892 def _path(self):

11893 if hasattr(self, "_parent"):

11894 return self._parent._path()+[self._yang_name]

11895 else:

11896 return ['vnfd', 'ext-cpd', 'virtual-network-interface-requirement']

11897

11898 def _get_name(self):

11899 """

11900 Getter method for name, mapped from YANG variable /vnfd/ext_cpd/virtual_network_interface_requirement/name (string)

11901

11902 YANG Description: Provides a human readable name for the requirement.

11903 """

11904 return self.__name

11905

11906 def _set_name(self, v, load=False):

11907 """

11908 Setter method for name, mapped from YANG variable /vnfd/ext_cpd/virtual_network_interface_requirement/name (string)

11909 If this variable is read-only (config: false) in the

11910 source YANG file, then _set_name is considered as a private

11911 method. Backends looking to populate this variable should

11912 do so via calling thisObj._set_name() directly.

11913

11914 YANG Description: Provides a human readable name for the requirement.

11915 """

11916 parent = getattr(self, "_parent", None)

11917 if parent is not None and load is False:

11918 raise AttributeError("Cannot set keys directly when" +

11919 " within an instantiated list")

11920

11921 if hasattr(v, "_utype"):

11922 v = v._utype(v)

11923 try:

11924 t = YANGDynClass(v,base=str, is_leaf=True, yang_name="name", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, is_keyval=True, namespace='urn:etsi:nfv:yang:etsi-nfv-vnfd', defining_module='etsi-nfv-vnfd', yang_type='string', is_config=True)

11925 except (TypeError, ValueError):

11926 raise ValueError({

11927 'error-string': """name must be of a type compatible with string""",

11928 'defined-type': "string",

11929 'generated-type': """YANGDynClass(base=str, is_leaf=True, yang_name="name", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, is_keyval=True, namespace='urn:etsi:nfv:yang:etsi-nfv-vnfd', defining_module='etsi-nfv-vnfd', yang_type='string', is_config=True)""",

11930 })

11931

11932 self.__name = t

11933 if hasattr(self, '_set'):

11934 self._set()

11935

11936 def _unset_name(self):

11937 self.__name = YANGDynClass(base=str, is_leaf=True, yang_name="name", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, is_keyval=True, namespace='urn:etsi:nfv:yang:etsi-nfv-vnfd', defining_module='etsi-nfv-vnfd', yang_type='string', is_config=True)

11938

11939

11940 def _get_description(self):

11941 """

11942 Getter method for description, mapped from YANG variable /vnfd/ext_cpd/virtual_network_interface_requirement/description (string)

11943

11944 YANG Description: Provides a human readable description of the requirement.

11945 """

11946 return self.__description

11947

11948 def _set_description(self, v, load=False):

11949 """

11950 Setter method for description, mapped from YANG variable /vnfd/ext_cpd/virtual_network_interface_requirement/description (string)

11951 If this variable is read-only (config: false) in the

11952 source YANG file, then _set_description is considered as a private

11953 method. Backends looking to populate this variable should

11954 do so via calling thisObj._set_description() directly.

11955

11956 YANG Description: Provides a human readable description of the requirement.

11957 """

11958 if hasattr(v, "_utype"):

11959 v = v._utype(v)

11960 try:

11961 t = YANGDynClass(v,base=str, is_leaf=True, yang_name="description", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='urn:etsi:nfv:yang:etsi-nfv-vnfd', defining_module='etsi-nfv-vnfd', yang_type='string', is_config=True)

11962 except (TypeError, ValueError):

11963 raise ValueError({

11964 'error-string': """description must be of a type compatible with string""",

11965 'defined-type': "string",

11966 'generated-type': """YANGDynClass(base=str, is_leaf=True, yang_name="description", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='urn:etsi:nfv:yang:etsi-nfv-vnfd', defining_module='etsi-nfv-vnfd', yang_type='string', is_config=True)""",

11967 })

11968

11969 self.__description = t

11970 if hasattr(self, '_set'):

11971 self._set()

11972

11973 def _unset_description(self):

11974 self.__description = YANGDynClass(base=str, is_leaf=True, yang_name="description", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='urn:etsi:nfv:yang:etsi-nfv-vnfd', defining_module='etsi-nfv-vnfd', yang_type='string', is_config=True)

11975

11976

11977 def _get_support_mandatory(self):

11978 """

11979 Getter method for support_mandatory, mapped from YANG variable /vnfd/ext_cpd/virtual_network_interface_requirement/support_mandatory (boolean)

11980

11981 YANG Description: Indicates whether fulfilling the constraint is

11982 mandatory (true) for successful operation or desirable

11983(false).

11984 """

11985 return self.__support_mandatory

11986

11987 def _set_support_mandatory(self, v, load=False):

11988 """

11989 Setter method for support_mandatory, mapped from YANG variable /vnfd/ext_cpd/virtual_network_interface_requirement/support_mandatory (boolean)

11990 If this variable is read-only (config: false) in the

11991 source YANG file, then _set_support_mandatory is considered as a private

11992 method. Backends looking to populate this variable should

11993 do so via calling thisObj._set_support_mandatory() directly.

11994

11995 YANG Description: Indicates whether fulfilling the constraint is

11996 mandatory (true) for successful operation or desirable

11997(false).

11998 """

11999 if hasattr(v, "_utype"):

12000 v = v._utype(v)

12001 try:

12002 t = YANGDynClass(v,base=YANGBool, default=YANGBool("false"), is_leaf=True, yang_name="support-mandatory", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='urn:etsi:nfv:yang:etsi-nfv-vnfd', defining_module='etsi-nfv-vnfd', yang_type='boolean', is_config=True)

12003 except (TypeError, ValueError):

12004 raise ValueError({

12005 'error-string': """support_mandatory must be of a type compatible with boolean""",

12006 'defined-type': "boolean",

12007 'generated-type': """YANGDynClass(base=YANGBool, default=YANGBool("false"), is_leaf=True, yang_name="support-mandatory", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='urn:etsi:nfv:yang:etsi-nfv-vnfd', defining_module='etsi-nfv-vnfd', yang_type='boolean', is_config=True)""",

12008 })

12009

12010 self.__support_mandatory = t

12011 if hasattr(self, '_set'):

12012 self._set()

12013

12014 def _unset_support_mandatory(self):

12015 self.__support_mandatory = YANGDynClass(base=YANGBool, default=YANGBool("false"), is_leaf=True, yang_name="support-mandatory", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='urn:etsi:nfv:yang:etsi-nfv-vnfd', defining_module='etsi-nfv-vnfd', yang_type='boolean', is_config=True)

12016

12017

12018 def _get_network_interface_requirements(self):

12019 """

12020 Getter method for network_interface_requirements, mapped from YANG variable /vnfd/ext_cpd/virtual_network_interface_requirement/network_interface_requirements (list)

12021

12022 YANG Description: The network interface requirements. An element from an

12023 array of key-value pairs that articulate the network

12024 interface deployment requirements.

12025 """

12026 return self.__network_interface_requirements

12027

12028 def _set_network_interface_requirements(self, v, load=False):

12029 """

12030 Setter method for network_interface_requirements, mapped from YANG variable /vnfd/ext_cpd/virtual_network_interface_requirement/network_interface_requirements (list)

12031 If this variable is read-only (config: false) in the

12032 source YANG file, then _set_network_interface_requirements is considered as a private

12033 method. Backends looking to populate this variable should

12034 do so via calling thisObj._set_network_interface_requirements() directly.

12035

12036 YANG Description: The network interface requirements. An element from an

12037 array of key-value pairs that articulate the network

12038 interface deployment requirements.

12039 """

12040 if hasattr(v, "_utype"):

12041 v = v._utype(v)

12042 try:

12043 t = YANGDynClass(v,base=YANGListType("key",yc_network_interface_requirements_etsi_nfv_vnfd__vnfd_ext_cpd_virtual_network_interface_requirement_network_interface_requirements, yang_name="network-interface-requirements", parent=self, is_container='list', user_ordered=False, path_helper=self._path_helper, yang_keys='key', extensions=None), is_container='list', yang_name="network-interface-requirements", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, extensions=None, namespace='urn:etsi:nfv:yang:etsi-nfv-vnfd', defining_module='etsi-nfv-vnfd', yang_type='list', is_config=True)

12044 except (TypeError, ValueError):

12045 raise ValueError({

12046 'error-string': """network_interface_requirements must be of a type compatible with list""",

12047 'defined-type': "list",

12048 'generated-type': """YANGDynClass(base=YANGListType("key",yc_network_interface_requirements_etsi_nfv_vnfd__vnfd_ext_cpd_virtual_network_interface_requirement_network_interface_requirements, yang_name="network-interface-requirements", parent=self, is_container='list', user_ordered=False, path_helper=self._path_helper, yang_keys='key', extensions=None), is_container='list', yang_name="network-interface-requirements", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, extensions=None, namespace='urn:etsi:nfv:yang:etsi-nfv-vnfd', defining_module='etsi-nfv-vnfd', yang_type='list', is_config=True)""",

12049 })

12050

12051 self.__network_interface_requirements = t

12052 if hasattr(self, '_set'):

12053 self._set()

12054

12055 def _unset_network_interface_requirements(self):

12056 self.__network_interface_requirements = YANGDynClass(base=YANGListType("key",yc_network_interface_requirements_etsi_nfv_vnfd__vnfd_ext_cpd_virtual_network_interface_requirement_network_interface_requirements, yang_name="network-interface-requirements", parent=self, is_container='list', user_ordered=False, path_helper=self._path_helper, yang_keys='key', extensions=None), is_container='list', yang_name="network-interface-requirements", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, extensions=None, namespace='urn:etsi:nfv:yang:etsi-nfv-vnfd', defining_module='etsi-nfv-vnfd', yang_type='list', is_config=True)

12057

12058 name = __builtin__.property(_get_name, _set_name)

12059 description = __builtin__.property(_get_description, _set_description)

12060 support_mandatory = __builtin__.property(_get_support_mandatory, _set_support_mandatory)

12061 network_interface_requirements = __builtin__.property(_get_network_interface_requirements, _set_network_interface_requirements)

12062

12063

12064 _pyangbind_elements = OrderedDict([('name', name), ('description', description), ('support_mandatory', support_mandatory), ('network_interface_requirements', network_interface_requirements), ])

12065

12066

12067 class yc_l2_address_data_etsi_nfv_vnfd__vnfd_ext_cpd_protocol_address_data_l2_address_data(PybindBase):

12068 """

12069 This class was auto-generated by the PythonClass plugin for PYANG

12070 from YANG module etsi-nfv-vnfd - based on the path /vnfd/ext-cpd/protocol/address-data/l2-address-data. Each member element of

12071 the container is represented as a class variable - with a specific

12072 YANG type.

12073

12074 YANG Description: Provides the information on the MAC addresses to be

12075 assigned to the CP(s) instantiated from the parent CPD.

12076 Shall be present when the addressType is MAC address.

12077 """

12078 __slots__ = ('_path_helper', '_extmethods', '__mac_address_assignment',)

12079

12080 _yang_name = 'l2-address-data'

12081 _yang_namespace = 'urn:etsi:nfv:yang:etsi-nfv-vnfd'

12082

12083 _pybind_generated_by = 'container'

12084

12085 def __init__(self, *args, **kwargs):

12086

12087 self._path_helper = False

12088

12089 self._extmethods = False

12090 self.__mac_address_assignment = YANGDynClass(base=YANGBool, is_leaf=True, yang_name="mac-address-assignment", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='urn:etsi:nfv:yang:etsi-nfv-vnfd', defining_module='etsi-nfv-vnfd', yang_type='boolean', is_config=True)

12091

12092 load = kwargs.pop("load", None)

12093 if args:

12094 if len(args) > 1:

12095 raise TypeError("cannot create a YANG container with >1 argument")

12096 all_attr = True

12097 for e in self._pyangbind_elements:

12098 if not hasattr(args[0], e):

12099 all_attr = False

12100 break

12101 if not all_attr:

12102 raise ValueError("Supplied object did not have the correct attributes")

12103 for e in self._pyangbind_elements:

12104 nobj = getattr(args[0], e)

12105 if nobj._changed() is False:

12106 continue

12107 setmethod = getattr(self, "_set_%s" % e)

12108 if load is None:

12109 setmethod(getattr(args[0], e))

12110 else:

12111 setmethod(getattr(args[0], e), load=load)

12112

12113 def _path(self):

12114 if hasattr(self, "_parent"):

12115 return self._parent._path()+[self._yang_name]

12116 else:

12117 return ['vnfd', 'ext-cpd', 'protocol', 'address-data', 'l2-address-data']

12118

12119 def _get_mac_address_assignment(self):

12120 """

12121 Getter method for mac_address_assignment, mapped from YANG variable /vnfd/ext_cpd/protocol/address_data/l2_address_data/mac_address_assignment (boolean)

12122

12123 YANG Description: Specify if the MAC address assignment is the

12124 responsibility of management and orchestration function

12125 or not. If it is set to True, it is the management and

12126 orchestration function responsibility. If it is set to

12127 False, it will be provided by an external entity,

12128 e.g. OSS/BSS.

12129 """

12130 return self.__mac_address_assignment

12131

12132 def _set_mac_address_assignment(self, v, load=False):

12133 """

12134 Setter method for mac_address_assignment, mapped from YANG variable /vnfd/ext_cpd/protocol/address_data/l2_address_data/mac_address_assignment (boolean)

12135 If this variable is read-only (config: false) in the

12136 source YANG file, then _set_mac_address_assignment is considered as a private

12137 method. Backends looking to populate this variable should

12138 do so via calling thisObj._set_mac_address_assignment() directly.

12139

12140 YANG Description: Specify if the MAC address assignment is the

12141 responsibility of management and orchestration function

12142 or not. If it is set to True, it is the management and

12143 orchestration function responsibility. If it is set to

12144 False, it will be provided by an external entity,

12145 e.g. OSS/BSS.

12146 """

12147 if hasattr(v, "_utype"):

12148 v = v._utype(v)

12149 try:

12150 t = YANGDynClass(v,base=YANGBool, is_leaf=True, yang_name="mac-address-assignment", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='urn:etsi:nfv:yang:etsi-nfv-vnfd', defining_module='etsi-nfv-vnfd', yang_type='boolean', is_config=True)

12151 except (TypeError, ValueError):

12152 raise ValueError({

12153 'error-string': """mac_address_assignment must be of a type compatible with boolean""",

12154 'defined-type': "boolean",

12155 'generated-type': """YANGDynClass(base=YANGBool, is_leaf=True, yang_name="mac-address-assignment", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='urn:etsi:nfv:yang:etsi-nfv-vnfd', defining_module='etsi-nfv-vnfd', yang_type='boolean', is_config=True)""",

12156 })

12157

12158 self.__mac_address_assignment = t

12159 if hasattr(self, '_set'):

12160 self._set()

12161

12162 def _unset_mac_address_assignment(self):

12163 self.__mac_address_assignment = YANGDynClass(base=YANGBool, is_leaf=True, yang_name="mac-address-assignment", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='urn:etsi:nfv:yang:etsi-nfv-vnfd', defining_module='etsi-nfv-vnfd', yang_type='boolean', is_config=True)

12164

12165 mac_address_assignment = __builtin__.property(_get_mac_address_assignment, _set_mac_address_assignment)

12166

12167

12168 _pyangbind_elements = OrderedDict([('mac_address_assignment', mac_address_assignment), ])

12169

12170

12171 class yc_l3_address_data_etsi_nfv_vnfd__vnfd_ext_cpd_protocol_address_data_l3_address_data(PybindBase):

12172 """

12173 This class was auto-generated by the PythonClass plugin for PYANG

12174 from YANG module etsi-nfv-vnfd - based on the path /vnfd/ext-cpd/protocol/address-data/l3-address-data. Each member element of

12175 the container is represented as a class variable - with a specific

12176 YANG type.

12177 """

12178 __slots__ = ('_path_helper', '_extmethods', '__ip_address_assignment','__floating_ip_activated','__ip_address_type','__number_of_ip_addresses',)

12179

12180 _yang_name = 'l3-address-data'

12181 _yang_namespace = 'urn:etsi:nfv:yang:etsi-nfv-vnfd'

12182

12183 _pybind_generated_by = 'container'

12184

12185 def __init__(self, *args, **kwargs):

12186

12187 self._path_helper = False

12188

12189 self._extmethods = False

12190 self.__ip_address_assignment = YANGDynClass(base=YANGBool, is_leaf=True, yang_name="ip-address-assignment", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='urn:etsi:nfv:yang:etsi-nfv-vnfd', defining_module='etsi-nfv-vnfd', yang_type='boolean', is_config=True)

12191 self.__floating_ip_activated = YANGDynClass(base=YANGBool, is_leaf=True, yang_name="floating-ip-activated", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='urn:etsi:nfv:yang:etsi-nfv-vnfd', defining_module='etsi-nfv-vnfd', yang_type='boolean', is_config=True)

12192 self.__ip_address_type = YANGDynClass(base=RestrictedClassType(base_type=str, restriction_type="dict_key", restriction_arg={'ipv4': {}, 'ipv6': {}},), is_leaf=True, yang_name="ip-address-type", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='urn:etsi:nfv:yang:etsi-nfv-vnfd', defining_module='etsi-nfv-vnfd', yang_type='enumeration', is_config=True)

12193 self.__number_of_ip_addresses = YANGDynClass(base=RestrictedClassType(base_type=long, restriction_dict={'range': ['0..4294967295']}, int_size=32), is_leaf=True, yang_name="number-of-ip-addresses", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='urn:etsi:nfv:yang:etsi-nfv-vnfd', defining_module='etsi-nfv-vnfd', yang_type='uint32', is_config=True)

12194

12195 load = kwargs.pop("load", None)

12196 if args:

12197 if len(args) > 1:

12198 raise TypeError("cannot create a YANG container with >1 argument")

12199 all_attr = True

12200 for e in self._pyangbind_elements:

12201 if not hasattr(args[0], e):

12202 all_attr = False

12203 break

12204 if not all_attr:

12205 raise ValueError("Supplied object did not have the correct attributes")

12206 for e in self._pyangbind_elements:

12207 nobj = getattr(args[0], e)

12208 if nobj._changed() is False:

12209 continue

12210 setmethod = getattr(self, "_set_%s" % e)

12211 if load is None:

12212 setmethod(getattr(args[0], e))

12213 else:

12214 setmethod(getattr(args[0], e), load=load)

12215

12216 def _path(self):

12217 if hasattr(self, "_parent"):

12218 return self._parent._path()+[self._yang_name]

12219 else:

12220 return ['vnfd', 'ext-cpd', 'protocol', 'address-data', 'l3-address-data']

12221

12222 def _get_ip_address_assignment(self):

12223 """

12224 Getter method for ip_address_assignment, mapped from YANG variable /vnfd/ext_cpd/protocol/address_data/l3_address_data/ip_address_assignment (boolean)

12225

12226 YANG Description: Specify if the address assignment is the responsibility

12227 of management and orchestration function or not. If it

12228 is set to True, it is the management and orchestration

12229 function responsibility.

12230 """

12231 return self.__ip_address_assignment

12232

12233 def _set_ip_address_assignment(self, v, load=False):

12234 """

12235 Setter method for ip_address_assignment, mapped from YANG variable /vnfd/ext_cpd/protocol/address_data/l3_address_data/ip_address_assignment (boolean)

12236 If this variable is read-only (config: false) in the

12237 source YANG file, then _set_ip_address_assignment is considered as a private

12238 method. Backends looking to populate this variable should

12239 do so via calling thisObj._set_ip_address_assignment() directly.

12240

12241 YANG Description: Specify if the address assignment is the responsibility

12242 of management and orchestration function or not. If it

12243 is set to True, it is the management and orchestration

12244 function responsibility.

12245 """

12246 if hasattr(v, "_utype"):

12247 v = v._utype(v)

12248 try:

12249 t = YANGDynClass(v,base=YANGBool, is_leaf=True, yang_name="ip-address-assignment", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='urn:etsi:nfv:yang:etsi-nfv-vnfd', defining_module='etsi-nfv-vnfd', yang_type='boolean', is_config=True)

12250 except (TypeError, ValueError):

12251 raise ValueError({

12252 'error-string': """ip_address_assignment must be of a type compatible with boolean""",

12253 'defined-type': "boolean",

12254 'generated-type': """YANGDynClass(base=YANGBool, is_leaf=True, yang_name="ip-address-assignment", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='urn:etsi:nfv:yang:etsi-nfv-vnfd', defining_module='etsi-nfv-vnfd', yang_type='boolean', is_config=True)""",

12255 })

12256

12257 self.__ip_address_assignment = t

12258 if hasattr(self, '_set'):

12259 self._set()

12260

12261 def _unset_ip_address_assignment(self):

12262 self.__ip_address_assignment = YANGDynClass(base=YANGBool, is_leaf=True, yang_name="ip-address-assignment", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='urn:etsi:nfv:yang:etsi-nfv-vnfd', defining_module='etsi-nfv-vnfd', yang_type='boolean', is_config=True)

12263

12264

12265 def _get_floating_ip_activated(self):

12266 """

12267 Getter method for floating_ip_activated, mapped from YANG variable /vnfd/ext_cpd/protocol/address_data/l3_address_data/floating_ip_activated (boolean)

12268

12269 YANG Description: Specify if the floating IP scheme is activated on the CP

12270 or not.

12271 """

12272 return self.__floating_ip_activated

12273

12274 def _set_floating_ip_activated(self, v, load=False):

12275 """

12276 Setter method for floating_ip_activated, mapped from YANG variable /vnfd/ext_cpd/protocol/address_data/l3_address_data/floating_ip_activated (boolean)

12277 If this variable is read-only (config: false) in the

12278 source YANG file, then _set_floating_ip_activated is considered as a private

12279 method. Backends looking to populate this variable should

12280 do so via calling thisObj._set_floating_ip_activated() directly.

12281

12282 YANG Description: Specify if the floating IP scheme is activated on the CP

12283 or not.

12284 """

12285 if hasattr(v, "_utype"):

12286 v = v._utype(v)

12287 try:

12288 t = YANGDynClass(v,base=YANGBool, is_leaf=True, yang_name="floating-ip-activated", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='urn:etsi:nfv:yang:etsi-nfv-vnfd', defining_module='etsi-nfv-vnfd', yang_type='boolean', is_config=True)

12289 except (TypeError, ValueError):

12290 raise ValueError({

12291 'error-string': """floating_ip_activated must be of a type compatible with boolean""",

12292 'defined-type': "boolean",

12293 'generated-type': """YANGDynClass(base=YANGBool, is_leaf=True, yang_name="floating-ip-activated", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='urn:etsi:nfv:yang:etsi-nfv-vnfd', defining_module='etsi-nfv-vnfd', yang_type='boolean', is_config=True)""",

12294 })

12295

12296 self.__floating_ip_activated = t

12297 if hasattr(self, '_set'):

12298 self._set()

12299

12300 def _unset_floating_ip_activated(self):

12301 self.__floating_ip_activated = YANGDynClass(base=YANGBool, is_leaf=True, yang_name="floating-ip-activated", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='urn:etsi:nfv:yang:etsi-nfv-vnfd', defining_module='etsi-nfv-vnfd', yang_type='boolean', is_config=True)

12302

12303

12304 def _get_ip_address_type(self):

12305 """

12306 Getter method for ip_address_type, mapped from YANG variable /vnfd/ext_cpd/protocol/address_data/l3_address_data/ip_address_type (enumeration)

12307

12308 YANG Description: Define address type. The address type should be aligned

12309 with the address type supported by the layerProtocol

12310 attribute of the parent VnfExtCpd.

12311 """

12312 return self.__ip_address_type

12313

12314 def _set_ip_address_type(self, v, load=False):

12315 """

12316 Setter method for ip_address_type, mapped from YANG variable /vnfd/ext_cpd/protocol/address_data/l3_address_data/ip_address_type (enumeration)

12317 If this variable is read-only (config: false) in the

12318 source YANG file, then _set_ip_address_type is considered as a private

12319 method. Backends looking to populate this variable should

12320 do so via calling thisObj._set_ip_address_type() directly.

12321

12322 YANG Description: Define address type. The address type should be aligned

12323 with the address type supported by the layerProtocol

12324 attribute of the parent VnfExtCpd.

12325 """

12326 if hasattr(v, "_utype"):

12327 v = v._utype(v)

12328 try:

12329 t = YANGDynClass(v,base=RestrictedClassType(base_type=str, restriction_type="dict_key", restriction_arg={'ipv4': {}, 'ipv6': {}},), is_leaf=True, yang_name="ip-address-type", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='urn:etsi:nfv:yang:etsi-nfv-vnfd', defining_module='etsi-nfv-vnfd', yang_type='enumeration', is_config=True)

12330 except (TypeError, ValueError):

12331 raise ValueError({

12332 'error-string': """ip_address_type must be of a type compatible with enumeration""",

12333 'defined-type': "etsi-nfv-vnfd:enumeration",

12334 'generated-type': """YANGDynClass(base=RestrictedClassType(base_type=str, restriction_type="dict_key", restriction_arg={'ipv4': {}, 'ipv6': {}},), is_leaf=True, yang_name="ip-address-type", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='urn:etsi:nfv:yang:etsi-nfv-vnfd', defining_module='etsi-nfv-vnfd', yang_type='enumeration', is_config=True)""",

12335 })

12336

12337 self.__ip_address_type = t

12338 if hasattr(self, '_set'):

12339 self._set()

12340

12341 def _unset_ip_address_type(self):

12342 self.__ip_address_type = YANGDynClass(base=RestrictedClassType(base_type=str, restriction_type="dict_key", restriction_arg={'ipv4': {}, 'ipv6': {}},), is_leaf=True, yang_name="ip-address-type", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='urn:etsi:nfv:yang:etsi-nfv-vnfd', defining_module='etsi-nfv-vnfd', yang_type='enumeration', is_config=True)

12343

12344

12345 def _get_number_of_ip_addresses(self):

12346 """

12347 Getter method for number_of_ip_addresses, mapped from YANG variable /vnfd/ext_cpd/protocol/address_data/l3_address_data/number_of_ip_addresses (uint32)

12348

12349 YANG Description: Minimum number of IP addresses to be assigned based on

12350 this L3AddressData information element.

12351 """

12352 return self.__number_of_ip_addresses

12353

12354 def _set_number_of_ip_addresses(self, v, load=False):

12355 """

12356 Setter method for number_of_ip_addresses, mapped from YANG variable /vnfd/ext_cpd/protocol/address_data/l3_address_data/number_of_ip_addresses (uint32)

12357 If this variable is read-only (config: false) in the

12358 source YANG file, then _set_number_of_ip_addresses is considered as a private

12359 method. Backends looking to populate this variable should

12360 do so via calling thisObj._set_number_of_ip_addresses() directly.

12361

12362 YANG Description: Minimum number of IP addresses to be assigned based on

12363 this L3AddressData information element.

12364 """

12365 if hasattr(v, "_utype"):

12366 v = v._utype(v)

12367 try:

12368 t = YANGDynClass(v,base=RestrictedClassType(base_type=long, restriction_dict={'range': ['0..4294967295']}, int_size=32), is_leaf=True, yang_name="number-of-ip-addresses", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='urn:etsi:nfv:yang:etsi-nfv-vnfd', defining_module='etsi-nfv-vnfd', yang_type='uint32', is_config=True)

12369 except (TypeError, ValueError):

12370 raise ValueError({

12371 'error-string': """number_of_ip_addresses must be of a type compatible with uint32""",

12372 'defined-type': "uint32",

12373 'generated-type': """YANGDynClass(base=RestrictedClassType(base_type=long, restriction_dict={'range': ['0..4294967295']}, int_size=32), is_leaf=True, yang_name="number-of-ip-addresses", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='urn:etsi:nfv:yang:etsi-nfv-vnfd', defining_module='etsi-nfv-vnfd', yang_type='uint32', is_config=True)""",

12374 })

12375

12376 self.__number_of_ip_addresses = t

12377 if hasattr(self, '_set'):

12378 self._set()

12379

12380 def _unset_number_of_ip_addresses(self):

12381 self.__number_of_ip_addresses = YANGDynClass(base=RestrictedClassType(base_type=long, restriction_dict={'range': ['0..4294967295']}, int_size=32), is_leaf=True, yang_name="number-of-ip-addresses", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='urn:etsi:nfv:yang:etsi-nfv-vnfd', defining_module='etsi-nfv-vnfd', yang_type='uint32', is_config=True)

12382

12383 ip_address_assignment = __builtin__.property(_get_ip_address_assignment, _set_ip_address_assignment)

12384 floating_ip_activated = __builtin__.property(_get_floating_ip_activated, _set_floating_ip_activated)

12385 ip_address_type = __builtin__.property(_get_ip_address_type, _set_ip_address_type)

12386 number_of_ip_addresses = __builtin__.property(_get_number_of_ip_addresses, _set_number_of_ip_addresses)

12387

12388

12389 _pyangbind_elements = OrderedDict([('ip_address_assignment', ip_address_assignment), ('floating_ip_activated', floating_ip_activated), ('ip_address_type', ip_address_type), ('number_of_ip_addresses', number_of_ip_addresses), ])

12390

12391

12392 class yc_address_data_etsi_nfv_vnfd__vnfd_ext_cpd_protocol_address_data(PybindBase):

12393 """

12394 This class was auto-generated by the PythonClass plugin for PYANG

12395 from YANG module etsi-nfv-vnfd - based on the path /vnfd/ext-cpd/protocol/address-data. Each member element of

12396 the container is represented as a class variable - with a specific

12397 YANG type.

12398

12399 YANG Description: Provides information on the addresses to be assigned to the

12400 CP(s) instantiated from the CPD.

12401 """

12402 __slots__ = ('_path_helper', '_extmethods', '__type','__l2_address_data','__l3_address_data',)

12403

12404 _yang_name = 'address-data'

12405 _yang_namespace = 'urn:etsi:nfv:yang:etsi-nfv-vnfd'

12406

12407 _pybind_generated_by = 'container'

12408

12409 def __init__(self, *args, **kwargs):

12410

12411 self._path_helper = False

12412

12413 self._extmethods = False

12414 self.__type = YANGDynClass(base=RestrictedClassType(base_type=str, restriction_type="dict_key", restriction_arg={'mac-address': {'@module': 'etsi-nfv-descriptors', '@namespace': 'urn:etsi:nfv:yang:etsi-nfv-descriptors'}, 'etsi-nfv-descriptors:mac-address': {'@module': 'etsi-nfv-descriptors', '@namespace': 'urn:etsi:nfv:yang:etsi-nfv-descriptors'}, 'nfv:mac-address': {'@module': 'etsi-nfv-descriptors', '@namespace': 'urn:etsi:nfv:yang:etsi-nfv-descriptors'}, 'descriptors:mac-address': {'@module': 'etsi-nfv-descriptors', '@namespace': 'urn:etsi:nfv:yang:etsi-nfv-descriptors'}, 'vnf:mac-address': {'@module': 'etsi-nfv-descriptors', '@namespace': 'urn:etsi:nfv:yang:etsi-nfv-descriptors'}, 'ip-address': {'@module': 'etsi-nfv-descriptors', '@namespace': 'urn:etsi:nfv:yang:etsi-nfv-descriptors'}, 'etsi-nfv-descriptors:ip-address': {'@module': 'etsi-nfv-descriptors', '@namespace': 'urn:etsi:nfv:yang:etsi-nfv-descriptors'}, 'nfv:ip-address': {'@module': 'etsi-nfv-descriptors', '@namespace': 'urn:etsi:nfv:yang:etsi-nfv-descriptors'}, 'descriptors:ip-address': {'@module': 'etsi-nfv-descriptors', '@namespace': 'urn:etsi:nfv:yang:etsi-nfv-descriptors'}, 'vnf:ip-address': {'@module': 'etsi-nfv-descriptors', '@namespace': 'urn:etsi:nfv:yang:etsi-nfv-descriptors'}},), is_leaf=True, yang_name="type", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, is_keyval=True, namespace='urn:etsi:nfv:yang:etsi-nfv-vnfd', defining_module='etsi-nfv-vnfd', yang_type='identityref', is_config=True)

12415 self.__l2_address_data = YANGDynClass(base=yc_l2_address_data_etsi_nfv_vnfd__vnfd_ext_cpd_protocol_address_data_l2_address_data, is_container='container', yang_name="l2-address-data", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, extensions=None, namespace='urn:etsi:nfv:yang:etsi-nfv-vnfd', defining_module='etsi-nfv-vnfd', yang_type='container', is_config=True)

12416 self.__l3_address_data = YANGDynClass(base=yc_l3_address_data_etsi_nfv_vnfd__vnfd_ext_cpd_protocol_address_data_l3_address_data, is_container='container', yang_name="l3-address-data", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, extensions=None, namespace='urn:etsi:nfv:yang:etsi-nfv-vnfd', defining_module='etsi-nfv-vnfd', yang_type='container', is_config=True)

12417

12418 load = kwargs.pop("load", None)

12419 if args:

12420 if len(args) > 1:

12421 raise TypeError("cannot create a YANG container with >1 argument")

12422 all_attr = True

12423 for e in self._pyangbind_elements:

12424 if not hasattr(args[0], e):

12425 all_attr = False

12426 break

12427 if not all_attr:

12428 raise ValueError("Supplied object did not have the correct attributes")

12429 for e in self._pyangbind_elements:

12430 nobj = getattr(args[0], e)

12431 if nobj._changed() is False:

12432 continue

12433 setmethod = getattr(self, "_set_%s" % e)

12434 if load is None:

12435 setmethod(getattr(args[0], e))

12436 else:

12437 setmethod(getattr(args[0], e), load=load)

12438

12439 def _path(self):

12440 if hasattr(self, "_parent"):

12441 return self._parent._path()+[self._yang_name]

12442 else:

12443 return ['vnfd', 'ext-cpd', 'protocol', 'address-data']

12444

12445 def _get_type(self):

12446 """

12447 Getter method for type, mapped from YANG variable /vnfd/ext_cpd/protocol/address_data/type (identityref)

12448

12449 YANG Description: Describes the type of the address to be assigned to the

12450 CP instantiated from the parent CPD.

12451 Value:

12452 • MAC address.

12453 • IP address.

12454 • Etc.

12455 The content type shall be aligned with the address type

12456 supported by the layerProtocol attribute of the parent

12457 CPD.

12458 """

12459 return self.__type

12460

12461 def _set_type(self, v, load=False):

12462 """

12463 Setter method for type, mapped from YANG variable /vnfd/ext_cpd/protocol/address_data/type (identityref)

12464 If this variable is read-only (config: false) in the

12465 source YANG file, then _set_type is considered as a private

12466 method. Backends looking to populate this variable should

12467 do so via calling thisObj._set_type() directly.

12468

12469 YANG Description: Describes the type of the address to be assigned to the

12470 CP instantiated from the parent CPD.

12471 Value:

12472 • MAC address.

12473 • IP address.

12474 • Etc.

12475 The content type shall be aligned with the address type

12476 supported by the layerProtocol attribute of the parent

12477 CPD.

12478 """

12479 parent = getattr(self, "_parent", None)

12480 if parent is not None and load is False:

12481 raise AttributeError("Cannot set keys directly when" +

12482 " within an instantiated list")

12483

12484 if hasattr(v, "_utype"):

12485 v = v._utype(v)

12486 try:

12487 t = YANGDynClass(v,base=RestrictedClassType(base_type=str, restriction_type="dict_key", restriction_arg={'mac-address': {'@module': 'etsi-nfv-descriptors', '@namespace': 'urn:etsi:nfv:yang:etsi-nfv-descriptors'}, 'etsi-nfv-descriptors:mac-address': {'@module': 'etsi-nfv-descriptors', '@namespace': 'urn:etsi:nfv:yang:etsi-nfv-descriptors'}, 'nfv:mac-address': {'@module': 'etsi-nfv-descriptors', '@namespace': 'urn:etsi:nfv:yang:etsi-nfv-descriptors'}, 'descriptors:mac-address': {'@module': 'etsi-nfv-descriptors', '@namespace': 'urn:etsi:nfv:yang:etsi-nfv-descriptors'}, 'vnf:mac-address': {'@module': 'etsi-nfv-descriptors', '@namespace': 'urn:etsi:nfv:yang:etsi-nfv-descriptors'}, 'ip-address': {'@module': 'etsi-nfv-descriptors', '@namespace': 'urn:etsi:nfv:yang:etsi-nfv-descriptors'}, 'etsi-nfv-descriptors:ip-address': {'@module': 'etsi-nfv-descriptors', '@namespace': 'urn:etsi:nfv:yang:etsi-nfv-descriptors'}, 'nfv:ip-address': {'@module': 'etsi-nfv-descriptors', '@namespace': 'urn:etsi:nfv:yang:etsi-nfv-descriptors'}, 'descriptors:ip-address': {'@module': 'etsi-nfv-descriptors', '@namespace': 'urn:etsi:nfv:yang:etsi-nfv-descriptors'}, 'vnf:ip-address': {'@module': 'etsi-nfv-descriptors', '@namespace': 'urn:etsi:nfv:yang:etsi-nfv-descriptors'}},), is_leaf=True, yang_name="type", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, is_keyval=True, namespace='urn:etsi:nfv:yang:etsi-nfv-vnfd', defining_module='etsi-nfv-vnfd', yang_type='identityref', is_config=True)

12488 except (TypeError, ValueError):

12489 raise ValueError({

12490 'error-string': """type must be of a type compatible with identityref""",

12491 'defined-type': "etsi-nfv-vnfd:identityref",

12492 'generated-type': """YANGDynClass(base=RestrictedClassType(base_type=str, restriction_type="dict_key", restriction_arg={'mac-address': {'@module': 'etsi-nfv-descriptors', '@namespace': 'urn:etsi:nfv:yang:etsi-nfv-descriptors'}, 'etsi-nfv-descriptors:mac-address': {'@module': 'etsi-nfv-descriptors', '@namespace': 'urn:etsi:nfv:yang:etsi-nfv-descriptors'}, 'nfv:mac-address': {'@module': 'etsi-nfv-descriptors', '@namespace': 'urn:etsi:nfv:yang:etsi-nfv-descriptors'}, 'descriptors:mac-address': {'@module': 'etsi-nfv-descriptors', '@namespace': 'urn:etsi:nfv:yang:etsi-nfv-descriptors'}, 'vnf:mac-address': {'@module': 'etsi-nfv-descriptors', '@namespace': 'urn:etsi:nfv:yang:etsi-nfv-descriptors'}, 'ip-address': {'@module': 'etsi-nfv-descriptors', '@namespace': 'urn:etsi:nfv:yang:etsi-nfv-descriptors'}, 'etsi-nfv-descriptors:ip-address': {'@module': 'etsi-nfv-descriptors', '@namespace': 'urn:etsi:nfv:yang:etsi-nfv-descriptors'}, 'nfv:ip-address': {'@module': 'etsi-nfv-descriptors', '@namespace': 'urn:etsi:nfv:yang:etsi-nfv-descriptors'}, 'descriptors:ip-address': {'@module': 'etsi-nfv-descriptors', '@namespace': 'urn:etsi:nfv:yang:etsi-nfv-descriptors'}, 'vnf:ip-address': {'@module': 'etsi-nfv-descriptors', '@namespace': 'urn:etsi:nfv:yang:etsi-nfv-descriptors'}},), is_leaf=True, yang_name="type", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, is_keyval=True, namespace='urn:etsi:nfv:yang:etsi-nfv-vnfd', defining_module='etsi-nfv-vnfd', yang_type='identityref', is_config=True)""",

12493 })

12494

12495 self.__type = t

12496 if hasattr(self, '_set'):

12497 self._set()

12498

12499 def _unset_type(self):

12500 self.__type = YANGDynClass(base=RestrictedClassType(base_type=str, restriction_type="dict_key", restriction_arg={'mac-address': {'@module': 'etsi-nfv-descriptors', '@namespace': 'urn:etsi:nfv:yang:etsi-nfv-descriptors'}, 'etsi-nfv-descriptors:mac-address': {'@module': 'etsi-nfv-descriptors', '@namespace': 'urn:etsi:nfv:yang:etsi-nfv-descriptors'}, 'nfv:mac-address': {'@module': 'etsi-nfv-descriptors', '@namespace': 'urn:etsi:nfv:yang:etsi-nfv-descriptors'}, 'descriptors:mac-address': {'@module': 'etsi-nfv-descriptors', '@namespace': 'urn:etsi:nfv:yang:etsi-nfv-descriptors'}, 'vnf:mac-address': {'@module': 'etsi-nfv-descriptors', '@namespace': 'urn:etsi:nfv:yang:etsi-nfv-descriptors'}, 'ip-address': {'@module': 'etsi-nfv-descriptors', '@namespace': 'urn:etsi:nfv:yang:etsi-nfv-descriptors'}, 'etsi-nfv-descriptors:ip-address': {'@module': 'etsi-nfv-descriptors', '@namespace': 'urn:etsi:nfv:yang:etsi-nfv-descriptors'}, 'nfv:ip-address': {'@module': 'etsi-nfv-descriptors', '@namespace': 'urn:etsi:nfv:yang:etsi-nfv-descriptors'}, 'descriptors:ip-address': {'@module': 'etsi-nfv-descriptors', '@namespace': 'urn:etsi:nfv:yang:etsi-nfv-descriptors'}, 'vnf:ip-address': {'@module': 'etsi-nfv-descriptors', '@namespace': 'urn:etsi:nfv:yang:etsi-nfv-descriptors'}},), is_leaf=True, yang_name="type", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, is_keyval=True, namespace='urn:etsi:nfv:yang:etsi-nfv-vnfd', defining_module='etsi-nfv-vnfd', yang_type='identityref', is_config=True)

12501

12502

12503 def _get_l2_address_data(self):

12504 """

12505 Getter method for l2_address_data, mapped from YANG variable /vnfd/ext_cpd/protocol/address_data/l2_address_data (container)

12506

12507 YANG Description: Provides the information on the MAC addresses to be

12508 assigned to the CP(s) instantiated from the parent CPD.

12509 Shall be present when the addressType is MAC address.

12510 """

12511 return self.__l2_address_data

12512

12513 def _set_l2_address_data(self, v, load=False):

12514 """

12515 Setter method for l2_address_data, mapped from YANG variable /vnfd/ext_cpd/protocol/address_data/l2_address_data (container)

12516 If this variable is read-only (config: false) in the

12517 source YANG file, then _set_l2_address_data is considered as a private

12518 method. Backends looking to populate this variable should

12519 do so via calling thisObj._set_l2_address_data() directly.

12520

12521 YANG Description: Provides the information on the MAC addresses to be

12522 assigned to the CP(s) instantiated from the parent CPD.

12523 Shall be present when the addressType is MAC address.

12524 """

12525 if hasattr(v, "_utype"):

12526 v = v._utype(v)

12527 try:

12528 t = YANGDynClass(v,base=yc_l2_address_data_etsi_nfv_vnfd__vnfd_ext_cpd_protocol_address_data_l2_address_data, is_container='container', yang_name="l2-address-data", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, extensions=None, namespace='urn:etsi:nfv:yang:etsi-nfv-vnfd', defining_module='etsi-nfv-vnfd', yang_type='container', is_config=True)

12529 except (TypeError, ValueError):

12530 raise ValueError({

12531 'error-string': """l2_address_data must be of a type compatible with container""",

12532 'defined-type': "container",

12533 'generated-type': """YANGDynClass(base=yc_l2_address_data_etsi_nfv_vnfd__vnfd_ext_cpd_protocol_address_data_l2_address_data, is_container='container', yang_name="l2-address-data", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, extensions=None, namespace='urn:etsi:nfv:yang:etsi-nfv-vnfd', defining_module='etsi-nfv-vnfd', yang_type='container', is_config=True)""",

12534 })

12535

12536 self.__l2_address_data = t

12537 if hasattr(self, '_set'):

12538 self._set()

12539

12540 def _unset_l2_address_data(self):

12541 self.__l2_address_data = YANGDynClass(base=yc_l2_address_data_etsi_nfv_vnfd__vnfd_ext_cpd_protocol_address_data_l2_address_data, is_container='container', yang_name="l2-address-data", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, extensions=None, namespace='urn:etsi:nfv:yang:etsi-nfv-vnfd', defining_module='etsi-nfv-vnfd', yang_type='container', is_config=True)

12542

12543

12544 def _get_l3_address_data(self):

12545 """

12546 Getter method for l3_address_data, mapped from YANG variable /vnfd/ext_cpd/protocol/address_data/l3_address_data (container)

12547 """

12548 return self.__l3_address_data

12549

12550 def _set_l3_address_data(self, v, load=False):

12551 """

12552 Setter method for l3_address_data, mapped from YANG variable /vnfd/ext_cpd/protocol/address_data/l3_address_data (container)

12553 If this variable is read-only (config: false) in the

12554 source YANG file, then _set_l3_address_data is considered as a private

12555 method. Backends looking to populate this variable should

12556 do so via calling thisObj._set_l3_address_data() directly.

12557 """

12558 if hasattr(v, "_utype"):

12559 v = v._utype(v)

12560 try:

12561 t = YANGDynClass(v,base=yc_l3_address_data_etsi_nfv_vnfd__vnfd_ext_cpd_protocol_address_data_l3_address_data, is_container='container', yang_name="l3-address-data", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, extensions=None, namespace='urn:etsi:nfv:yang:etsi-nfv-vnfd', defining_module='etsi-nfv-vnfd', yang_type='container', is_config=True)

12562 except (TypeError, ValueError):

12563 raise ValueError({

12564 'error-string': """l3_address_data must be of a type compatible with container""",

12565 'defined-type': "container",

12566 'generated-type': """YANGDynClass(base=yc_l3_address_data_etsi_nfv_vnfd__vnfd_ext_cpd_protocol_address_data_l3_address_data, is_container='container', yang_name="l3-address-data", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, extensions=None, namespace='urn:etsi:nfv:yang:etsi-nfv-vnfd', defining_module='etsi-nfv-vnfd', yang_type='container', is_config=True)""",

12567 })

12568

12569 self.__l3_address_data = t

12570 if hasattr(self, '_set'):

12571 self._set()

12572

12573 def _unset_l3_address_data(self):

12574 self.__l3_address_data = YANGDynClass(base=yc_l3_address_data_etsi_nfv_vnfd__vnfd_ext_cpd_protocol_address_data_l3_address_data, is_container='container', yang_name="l3-address-data", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, extensions=None, namespace='urn:etsi:nfv:yang:etsi-nfv-vnfd', defining_module='etsi-nfv-vnfd', yang_type='container', is_config=True)

12575

12576 type = __builtin__.property(_get_type, _set_type)

12577 l2_address_data = __builtin__.property(_get_l2_address_data, _set_l2_address_data)

12578 l3_address_data = __builtin__.property(_get_l3_address_data, _set_l3_address_data)

12579

12580

12581 _pyangbind_elements = OrderedDict([('type', type), ('l2_address_data', l2_address_data), ('l3_address_data', l3_address_data), ])

12582

12583

12584 class yc_protocol_etsi_nfv_vnfd__vnfd_ext_cpd_protocol(PybindBase):

12585 """

12586 This class was auto-generated by the PythonClass plugin for PYANG

12587 from YANG module etsi-nfv-vnfd - based on the path /vnfd/ext-cpd/protocol. Each member element of

12588 the container is represented as a class variable - with a specific

12589 YANG type.

12590

12591 YANG Description: Identifies the protocol layering information the CP uses for

12592 connectivity purposes and associated information. There shall

12593 be one cpProtocol for each layer protocol as indicated by the

12594 attribute layerProtocol. When a PnfExtCpd as defined in ETSI

12595 GS NFV-IFA 014 [i.8] is inherited from this Cpd, the

12596 cardinality is set to 0.

12597 """

12598 __slots__ = ('_path_helper', '_extmethods', '__associated_layer_protocol','__address_data',)

12599

12600 _yang_name = 'protocol'

12601 _yang_namespace = 'urn:etsi:nfv:yang:etsi-nfv-vnfd'

12602

12603 _pybind_generated_by = 'container'

12604

12605 def __init__(self, *args, **kwargs):

12606

12607 self._path_helper = False

12608

12609 self._extmethods = False

12610 self.__associated_layer_protocol = YANGDynClass(base=RestrictedClassType(base_type=str, restriction_type="dict_key", restriction_arg={'ethernet': {'@module': 'etsi-nfv-descriptors', '@namespace': 'urn:etsi:nfv:yang:etsi-nfv-descriptors'}, 'etsi-nfv-descriptors:ethernet': {'@module': 'etsi-nfv-descriptors', '@namespace': 'urn:etsi:nfv:yang:etsi-nfv-descriptors'}, 'nfv:ethernet': {'@module': 'etsi-nfv-descriptors', '@namespace': 'urn:etsi:nfv:yang:etsi-nfv-descriptors'}, 'descriptors:ethernet': {'@module': 'etsi-nfv-descriptors', '@namespace': 'urn:etsi:nfv:yang:etsi-nfv-descriptors'}, 'vnf:ethernet': {'@module': 'etsi-nfv-descriptors', '@namespace': 'urn:etsi:nfv:yang:etsi-nfv-descriptors'}, 'mpls': {'@module': 'etsi-nfv-descriptors', '@namespace': 'urn:etsi:nfv:yang:etsi-nfv-descriptors'}, 'etsi-nfv-descriptors:mpls': {'@module': 'etsi-nfv-descriptors', '@namespace': 'urn:etsi:nfv:yang:etsi-nfv-descriptors'}, 'nfv:mpls': {'@module': 'etsi-nfv-descriptors', '@namespace': 'urn:etsi:nfv:yang:etsi-nfv-descriptors'}, 'descriptors:mpls': {'@module': 'etsi-nfv-descriptors', '@namespace': 'urn:etsi:nfv:yang:etsi-nfv-descriptors'}, 'vnf:mpls': {'@module': 'etsi-nfv-descriptors', '@namespace': 'urn:etsi:nfv:yang:etsi-nfv-descriptors'}, 'odu2': {'@module': 'etsi-nfv-descriptors', '@namespace': 'urn:etsi:nfv:yang:etsi-nfv-descriptors'}, 'etsi-nfv-descriptors:odu2': {'@module': 'etsi-nfv-descriptors', '@namespace': 'urn:etsi:nfv:yang:etsi-nfv-descriptors'}, 'nfv:odu2': {'@module': 'etsi-nfv-descriptors', '@namespace': 'urn:etsi:nfv:yang:etsi-nfv-descriptors'}, 'descriptors:odu2': {'@module': 'etsi-nfv-descriptors', '@namespace': 'urn:etsi:nfv:yang:etsi-nfv-descriptors'}, 'vnf:odu2': {'@module': 'etsi-nfv-descriptors', '@namespace': 'urn:etsi:nfv:yang:etsi-nfv-descriptors'}, 'ipv4': {'@module': 'etsi-nfv-descriptors', '@namespace': 'urn:etsi:nfv:yang:etsi-nfv-descriptors'}, 'etsi-nfv-descriptors:ipv4': {'@module': 'etsi-nfv-descriptors', '@namespace': 'urn:etsi:nfv:yang:etsi-nfv-descriptors'}, 'nfv:ipv4': {'@module': 'etsi-nfv-descriptors', '@namespace': 'urn:etsi:nfv:yang:etsi-nfv-descriptors'}, 'descriptors:ipv4': {'@module': 'etsi-nfv-descriptors', '@namespace': 'urn:etsi:nfv:yang:etsi-nfv-descriptors'}, 'vnf:ipv4': {'@module': 'etsi-nfv-descriptors', '@namespace': 'urn:etsi:nfv:yang:etsi-nfv-descriptors'}, 'ipv6': {'@module': 'etsi-nfv-descriptors', '@namespace': 'urn:etsi:nfv:yang:etsi-nfv-descriptors'}, 'etsi-nfv-descriptors:ipv6': {'@module': 'etsi-nfv-descriptors', '@namespace': 'urn:etsi:nfv:yang:etsi-nfv-descriptors'}, 'nfv:ipv6': {'@module': 'etsi-nfv-descriptors', '@namespace': 'urn:etsi:nfv:yang:etsi-nfv-descriptors'}, 'descriptors:ipv6': {'@module': 'etsi-nfv-descriptors', '@namespace': 'urn:etsi:nfv:yang:etsi-nfv-descriptors'}, 'vnf:ipv6': {'@module': 'etsi-nfv-descriptors', '@namespace': 'urn:etsi:nfv:yang:etsi-nfv-descriptors'}, 'pseudo-wire': {'@module': 'etsi-nfv-descriptors', '@namespace': 'urn:etsi:nfv:yang:etsi-nfv-descriptors'}, 'etsi-nfv-descriptors:pseudo-wire': {'@module': 'etsi-nfv-descriptors', '@namespace': 'urn:etsi:nfv:yang:etsi-nfv-descriptors'}, 'nfv:pseudo-wire': {'@module': 'etsi-nfv-descriptors', '@namespace': 'urn:etsi:nfv:yang:etsi-nfv-descriptors'}, 'descriptors:pseudo-wire': {'@module': 'etsi-nfv-descriptors', '@namespace': 'urn:etsi:nfv:yang:etsi-nfv-descriptors'}, 'vnf:pseudo-wire': {'@module': 'etsi-nfv-descriptors', '@namespace': 'urn:etsi:nfv:yang:etsi-nfv-descriptors'}},), is_leaf=True, yang_name="associated-layer-protocol", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, is_keyval=True, namespace='urn:etsi:nfv:yang:etsi-nfv-vnfd', defining_module='etsi-nfv-vnfd', yang_type='identityref', is_config=True)

12611 self.__address_data = YANGDynClass(base=YANGListType("type",yc_address_data_etsi_nfv_vnfd__vnfd_ext_cpd_protocol_address_data, yang_name="address-data", parent=self, is_container='list', user_ordered=False, path_helper=self._path_helper, yang_keys='type', extensions=None), is_container='list', yang_name="address-data", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, extensions=None, namespace='urn:etsi:nfv:yang:etsi-nfv-vnfd', defining_module='etsi-nfv-vnfd', yang_type='list', is_config=True)

12612

12613 load = kwargs.pop("load", None)

12614 if args:

12615 if len(args) > 1:

12616 raise TypeError("cannot create a YANG container with >1 argument")

12617 all_attr = True

12618 for e in self._pyangbind_elements:

12619 if not hasattr(args[0], e):

12620 all_attr = False

12621 break

12622 if not all_attr:

12623 raise ValueError("Supplied object did not have the correct attributes")

12624 for e in self._pyangbind_elements:

12625 nobj = getattr(args[0], e)

12626 if nobj._changed() is False:

12627 continue

12628 setmethod = getattr(self, "_set_%s" % e)

12629 if load is None:

12630 setmethod(getattr(args[0], e))

12631 else:

12632 setmethod(getattr(args[0], e), load=load)

12633

12634 def _path(self):

12635 if hasattr(self, "_parent"):

12636 return self._parent._path()+[self._yang_name]

12637 else:

12638 return ['vnfd', 'ext-cpd', 'protocol']

12639

12640 def _get_associated_layer_protocol(self):

12641 """

12642 Getter method for associated_layer_protocol, mapped from YANG variable /vnfd/ext_cpd/protocol/associated_layer_protocol (identityref)

12643

12644 YANG Description: One of the values of the attribute layerProtocol of the Cpd

12645 IE.

12646 """

12647 return self.__associated_layer_protocol

12648

12649 def _set_associated_layer_protocol(self, v, load=False):

12650 """

12651 Setter method for associated_layer_protocol, mapped from YANG variable /vnfd/ext_cpd/protocol/associated_layer_protocol (identityref)

12652 If this variable is read-only (config: false) in the

12653 source YANG file, then _set_associated_layer_protocol is considered as a private

12654 method. Backends looking to populate this variable should

12655 do so via calling thisObj._set_associated_layer_protocol() directly.

12656

12657 YANG Description: One of the values of the attribute layerProtocol of the Cpd

12658 IE.

12659 """

12660 parent = getattr(self, "_parent", None)

12661 if parent is not None and load is False:

12662 raise AttributeError("Cannot set keys directly when" +

12663 " within an instantiated list")

12664

12665 if hasattr(v, "_utype"):

12666 v = v._utype(v)

12667 try:

12668 t = YANGDynClass(v,base=RestrictedClassType(base_type=str, restriction_type="dict_key", restriction_arg={'ethernet': {'@module': 'etsi-nfv-descriptors', '@namespace': 'urn:etsi:nfv:yang:etsi-nfv-descriptors'}, 'etsi-nfv-descriptors:ethernet': {'@module': 'etsi-nfv-descriptors', '@namespace': 'urn:etsi:nfv:yang:etsi-nfv-descriptors'}, 'nfv:ethernet': {'@module': 'etsi-nfv-descriptors', '@namespace': 'urn:etsi:nfv:yang:etsi-nfv-descriptors'}, 'descriptors:ethernet': {'@module': 'etsi-nfv-descriptors', '@namespace': 'urn:etsi:nfv:yang:etsi-nfv-descriptors'}, 'vnf:ethernet': {'@module': 'etsi-nfv-descriptors', '@namespace': 'urn:etsi:nfv:yang:etsi-nfv-descriptors'}, 'mpls': {'@module': 'etsi-nfv-descriptors', '@namespace': 'urn:etsi:nfv:yang:etsi-nfv-descriptors'}, 'etsi-nfv-descriptors:mpls': {'@module': 'etsi-nfv-descriptors', '@namespace': 'urn:etsi:nfv:yang:etsi-nfv-descriptors'}, 'nfv:mpls': {'@module': 'etsi-nfv-descriptors', '@namespace': 'urn:etsi:nfv:yang:etsi-nfv-descriptors'}, 'descriptors:mpls': {'@module': 'etsi-nfv-descriptors', '@namespace': 'urn:etsi:nfv:yang:etsi-nfv-descriptors'}, 'vnf:mpls': {'@module': 'etsi-nfv-descriptors', '@namespace': 'urn:etsi:nfv:yang:etsi-nfv-descriptors'}, 'odu2': {'@module': 'etsi-nfv-descriptors', '@namespace': 'urn:etsi:nfv:yang:etsi-nfv-descriptors'}, 'etsi-nfv-descriptors:odu2': {'@module': 'etsi-nfv-descriptors', '@namespace': 'urn:etsi:nfv:yang:etsi-nfv-descriptors'}, 'nfv:odu2': {'@module': 'etsi-nfv-descriptors', '@namespace': 'urn:etsi:nfv:yang:etsi-nfv-descriptors'}, 'descriptors:odu2': {'@module': 'etsi-nfv-descriptors', '@namespace': 'urn:etsi:nfv:yang:etsi-nfv-descriptors'}, 'vnf:odu2': {'@module': 'etsi-nfv-descriptors', '@namespace': 'urn:etsi:nfv:yang:etsi-nfv-descriptors'}, 'ipv4': {'@module': 'etsi-nfv-descriptors', '@namespace': 'urn:etsi:nfv:yang:etsi-nfv-descriptors'}, 'etsi-nfv-descriptors:ipv4': {'@module': 'etsi-nfv-descriptors', '@namespace': 'urn:etsi:nfv:yang:etsi-nfv-descriptors'}, 'nfv:ipv4': {'@module': 'etsi-nfv-descriptors', '@namespace': 'urn:etsi:nfv:yang:etsi-nfv-descriptors'}, 'descriptors:ipv4': {'@module': 'etsi-nfv-descriptors', '@namespace': 'urn:etsi:nfv:yang:etsi-nfv-descriptors'}, 'vnf:ipv4': {'@module': 'etsi-nfv-descriptors', '@namespace': 'urn:etsi:nfv:yang:etsi-nfv-descriptors'}, 'ipv6': {'@module': 'etsi-nfv-descriptors', '@namespace': 'urn:etsi:nfv:yang:etsi-nfv-descriptors'}, 'etsi-nfv-descriptors:ipv6': {'@module': 'etsi-nfv-descriptors', '@namespace': 'urn:etsi:nfv:yang:etsi-nfv-descriptors'}, 'nfv:ipv6': {'@module': 'etsi-nfv-descriptors', '@namespace': 'urn:etsi:nfv:yang:etsi-nfv-descriptors'}, 'descriptors:ipv6': {'@module': 'etsi-nfv-descriptors', '@namespace': 'urn:etsi:nfv:yang:etsi-nfv-descriptors'}, 'vnf:ipv6': {'@module': 'etsi-nfv-descriptors', '@namespace': 'urn:etsi:nfv:yang:etsi-nfv-descriptors'}, 'pseudo-wire': {'@module': 'etsi-nfv-descriptors', '@namespace': 'urn:etsi:nfv:yang:etsi-nfv-descriptors'}, 'etsi-nfv-descriptors:pseudo-wire': {'@module': 'etsi-nfv-descriptors', '@namespace': 'urn:etsi:nfv:yang:etsi-nfv-descriptors'}, 'nfv:pseudo-wire': {'@module': 'etsi-nfv-descriptors', '@namespace': 'urn:etsi:nfv:yang:etsi-nfv-descriptors'}, 'descriptors:pseudo-wire': {'@module': 'etsi-nfv-descriptors', '@namespace': 'urn:etsi:nfv:yang:etsi-nfv-descriptors'}, 'vnf:pseudo-wire': {'@module': 'etsi-nfv-descriptors', '@namespace': 'urn:etsi:nfv:yang:etsi-nfv-descriptors'}},), is_leaf=True, yang_name="associated-layer-protocol", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, is_keyval=True, namespace='urn:etsi:nfv:yang:etsi-nfv-vnfd', defining_module='etsi-nfv-vnfd', yang_type='identityref', is_config=True)

12669 except (TypeError, ValueError):

12670 raise ValueError({

12671 'error-string': """associated_layer_protocol must be of a type compatible with identityref""",

12672 'defined-type': "etsi-nfv-vnfd:identityref",

12673 'generated-type': """YANGDynClass(base=RestrictedClassType(base_type=str, restriction_type="dict_key", restriction_arg={'ethernet': {'@module': 'etsi-nfv-descriptors', '@namespace': 'urn:etsi:nfv:yang:etsi-nfv-descriptors'}, 'etsi-nfv-descriptors:ethernet': {'@module': 'etsi-nfv-descriptors', '@namespace': 'urn:etsi:nfv:yang:etsi-nfv-descriptors'}, 'nfv:ethernet': {'@module': 'etsi-nfv-descriptors', '@namespace': 'urn:etsi:nfv:yang:etsi-nfv-descriptors'}, 'descriptors:ethernet': {'@module': 'etsi-nfv-descriptors', '@namespace': 'urn:etsi:nfv:yang:etsi-nfv-descriptors'}, 'vnf:ethernet': {'@module': 'etsi-nfv-descriptors', '@namespace': 'urn:etsi:nfv:yang:etsi-nfv-descriptors'}, 'mpls': {'@module': 'etsi-nfv-descriptors', '@namespace': 'urn:etsi:nfv:yang:etsi-nfv-descriptors'}, 'etsi-nfv-descriptors:mpls': {'@module': 'etsi-nfv-descriptors', '@namespace': 'urn:etsi:nfv:yang:etsi-nfv-descriptors'}, 'nfv:mpls': {'@module': 'etsi-nfv-descriptors', '@namespace': 'urn:etsi:nfv:yang:etsi-nfv-descriptors'}, 'descriptors:mpls': {'@module': 'etsi-nfv-descriptors', '@namespace': 'urn:etsi:nfv:yang:etsi-nfv-descriptors'}, 'vnf:mpls': {'@module': 'etsi-nfv-descriptors', '@namespace': 'urn:etsi:nfv:yang:etsi-nfv-descriptors'}, 'odu2': {'@module': 'etsi-nfv-descriptors', '@namespace': 'urn:etsi:nfv:yang:etsi-nfv-descriptors'}, 'etsi-nfv-descriptors:odu2': {'@module': 'etsi-nfv-descriptors', '@namespace': 'urn:etsi:nfv:yang:etsi-nfv-descriptors'}, 'nfv:odu2': {'@module': 'etsi-nfv-descriptors', '@namespace': 'urn:etsi:nfv:yang:etsi-nfv-descriptors'}, 'descriptors:odu2': {'@module': 'etsi-nfv-descriptors', '@namespace': 'urn:etsi:nfv:yang:etsi-nfv-descriptors'}, 'vnf:odu2': {'@module': 'etsi-nfv-descriptors', '@namespace': 'urn:etsi:nfv:yang:etsi-nfv-descriptors'}, 'ipv4': {'@module': 'etsi-nfv-descriptors', '@namespace': 'urn:etsi:nfv:yang:etsi-nfv-descriptors'}, 'etsi-nfv-descriptors:ipv4': {'@module': 'etsi-nfv-descriptors', '@namespace': 'urn:etsi:nfv:yang:etsi-nfv-descriptors'}, 'nfv:ipv4': {'@module': 'etsi-nfv-descriptors', '@namespace': 'urn:etsi:nfv:yang:etsi-nfv-descriptors'}, 'descriptors:ipv4': {'@module': 'etsi-nfv-descriptors', '@namespace': 'urn:etsi:nfv:yang:etsi-nfv-descriptors'}, 'vnf:ipv4': {'@module': 'etsi-nfv-descriptors', '@namespace': 'urn:etsi:nfv:yang:etsi-nfv-descriptors'}, 'ipv6': {'@module': 'etsi-nfv-descriptors', '@namespace': 'urn:etsi:nfv:yang:etsi-nfv-descriptors'}, 'etsi-nfv-descriptors:ipv6': {'@module': 'etsi-nfv-descriptors', '@namespace': 'urn:etsi:nfv:yang:etsi-nfv-descriptors'}, 'nfv:ipv6': {'@module': 'etsi-nfv-descriptors', '@namespace': 'urn:etsi:nfv:yang:etsi-nfv-descriptors'}, 'descriptors:ipv6': {'@module': 'etsi-nfv-descriptors', '@namespace': 'urn:etsi:nfv:yang:etsi-nfv-descriptors'}, 'vnf:ipv6': {'@module': 'etsi-nfv-descriptors', '@namespace': 'urn:etsi:nfv:yang:etsi-nfv-descriptors'}, 'pseudo-wire': {'@module': 'etsi-nfv-descriptors', '@namespace': 'urn:etsi:nfv:yang:etsi-nfv-descriptors'}, 'etsi-nfv-descriptors:pseudo-wire': {'@module': 'etsi-nfv-descriptors', '@namespace': 'urn:etsi:nfv:yang:etsi-nfv-descriptors'}, 'nfv:pseudo-wire': {'@module': 'etsi-nfv-descriptors', '@namespace': 'urn:etsi:nfv:yang:etsi-nfv-descriptors'}, 'descriptors:pseudo-wire': {'@module': 'etsi-nfv-descriptors', '@namespace': 'urn:etsi:nfv:yang:etsi-nfv-descriptors'}, 'vnf:pseudo-wire': {'@module': 'etsi-nfv-descriptors', '@namespace': 'urn:etsi:nfv:yang:etsi-nfv-descriptors'}},), is_leaf=True, yang_name="associated-layer-protocol", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, is_keyval=True, namespace='urn:etsi:nfv:yang:etsi-nfv-vnfd', defining_module='etsi-nfv-vnfd', yang_type='identityref', is_config=True)""",

12674 })

12675

12676 self.__associated_layer_protocol = t

12677 if hasattr(self, '_set'):

12678 self._set()

12679

12680 def _unset_associated_layer_protocol(self):

12681 self.__associated_layer_protocol = YANGDynClass(base=RestrictedClassType(base_type=str, restriction_type="dict_key", restriction_arg={'ethernet': {'@module': 'etsi-nfv-descriptors', '@namespace': 'urn:etsi:nfv:yang:etsi-nfv-descriptors'}, 'etsi-nfv-descriptors:ethernet': {'@module': 'etsi-nfv-descriptors', '@namespace': 'urn:etsi:nfv:yang:etsi-nfv-descriptors'}, 'nfv:ethernet': {'@module': 'etsi-nfv-descriptors', '@namespace': 'urn:etsi:nfv:yang:etsi-nfv-descriptors'}, 'descriptors:ethernet': {'@module': 'etsi-nfv-descriptors', '@namespace': 'urn:etsi:nfv:yang:etsi-nfv-descriptors'}, 'vnf:ethernet': {'@module': 'etsi-nfv-descriptors', '@namespace': 'urn:etsi:nfv:yang:etsi-nfv-descriptors'}, 'mpls': {'@module': 'etsi-nfv-descriptors', '@namespace': 'urn:etsi:nfv:yang:etsi-nfv-descriptors'}, 'etsi-nfv-descriptors:mpls': {'@module': 'etsi-nfv-descriptors', '@namespace': 'urn:etsi:nfv:yang:etsi-nfv-descriptors'}, 'nfv:mpls': {'@module': 'etsi-nfv-descriptors', '@namespace': 'urn:etsi:nfv:yang:etsi-nfv-descriptors'}, 'descriptors:mpls': {'@module': 'etsi-nfv-descriptors', '@namespace': 'urn:etsi:nfv:yang:etsi-nfv-descriptors'}, 'vnf:mpls': {'@module': 'etsi-nfv-descriptors', '@namespace': 'urn:etsi:nfv:yang:etsi-nfv-descriptors'}, 'odu2': {'@module': 'etsi-nfv-descriptors', '@namespace': 'urn:etsi:nfv:yang:etsi-nfv-descriptors'}, 'etsi-nfv-descriptors:odu2': {'@module': 'etsi-nfv-descriptors', '@namespace': 'urn:etsi:nfv:yang:etsi-nfv-descriptors'}, 'nfv:odu2': {'@module': 'etsi-nfv-descriptors', '@namespace': 'urn:etsi:nfv:yang:etsi-nfv-descriptors'}, 'descriptors:odu2': {'@module': 'etsi-nfv-descriptors', '@namespace': 'urn:etsi:nfv:yang:etsi-nfv-descriptors'}, 'vnf:odu2': {'@module': 'etsi-nfv-descriptors', '@namespace': 'urn:etsi:nfv:yang:etsi-nfv-descriptors'}, 'ipv4': {'@module': 'etsi-nfv-descriptors', '@namespace': 'urn:etsi:nfv:yang:etsi-nfv-descriptors'}, 'etsi-nfv-descriptors:ipv4': {'@module': 'etsi-nfv-descriptors', '@namespace': 'urn:etsi:nfv:yang:etsi-nfv-descriptors'}, 'nfv:ipv4': {'@module': 'etsi-nfv-descriptors', '@namespace': 'urn:etsi:nfv:yang:etsi-nfv-descriptors'}, 'descriptors:ipv4': {'@module': 'etsi-nfv-descriptors', '@namespace': 'urn:etsi:nfv:yang:etsi-nfv-descriptors'}, 'vnf:ipv4': {'@module': 'etsi-nfv-descriptors', '@namespace': 'urn:etsi:nfv:yang:etsi-nfv-descriptors'}, 'ipv6': {'@module': 'etsi-nfv-descriptors', '@namespace': 'urn:etsi:nfv:yang:etsi-nfv-descriptors'}, 'etsi-nfv-descriptors:ipv6': {'@module': 'etsi-nfv-descriptors', '@namespace': 'urn:etsi:nfv:yang:etsi-nfv-descriptors'}, 'nfv:ipv6': {'@module': 'etsi-nfv-descriptors', '@namespace': 'urn:etsi:nfv:yang:etsi-nfv-descriptors'}, 'descriptors:ipv6': {'@module': 'etsi-nfv-descriptors', '@namespace': 'urn:etsi:nfv:yang:etsi-nfv-descriptors'}, 'vnf:ipv6': {'@module': 'etsi-nfv-descriptors', '@namespace': 'urn:etsi:nfv:yang:etsi-nfv-descriptors'}, 'pseudo-wire': {'@module': 'etsi-nfv-descriptors', '@namespace': 'urn:etsi:nfv:yang:etsi-nfv-descriptors'}, 'etsi-nfv-descriptors:pseudo-wire': {'@module': 'etsi-nfv-descriptors', '@namespace': 'urn:etsi:nfv:yang:etsi-nfv-descriptors'}, 'nfv:pseudo-wire': {'@module': 'etsi-nfv-descriptors', '@namespace': 'urn:etsi:nfv:yang:etsi-nfv-descriptors'}, 'descriptors:pseudo-wire': {'@module': 'etsi-nfv-descriptors', '@namespace': 'urn:etsi:nfv:yang:etsi-nfv-descriptors'}, 'vnf:pseudo-wire': {'@module': 'etsi-nfv-descriptors', '@namespace': 'urn:etsi:nfv:yang:etsi-nfv-descriptors'}},), is_leaf=True, yang_name="associated-layer-protocol", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, is_keyval=True, namespace='urn:etsi:nfv:yang:etsi-nfv-vnfd', defining_module='etsi-nfv-vnfd', yang_type='identityref', is_config=True)

12682

12683

12684 def _get_address_data(self):

12685 """

12686 Getter method for address_data, mapped from YANG variable /vnfd/ext_cpd/protocol/address_data (list)

12687

12688 YANG Description: Provides information on the addresses to be assigned to the

12689 CP(s) instantiated from the CPD.

12690 """

12691 return self.__address_data

12692

12693 def _set_address_data(self, v, load=False):

12694 """

12695 Setter method for address_data, mapped from YANG variable /vnfd/ext_cpd/protocol/address_data (list)

12696 If this variable is read-only (config: false) in the

12697 source YANG file, then _set_address_data is considered as a private

12698 method. Backends looking to populate this variable should

12699 do so via calling thisObj._set_address_data() directly.

12700

12701 YANG Description: Provides information on the addresses to be assigned to the

12702 CP(s) instantiated from the CPD.

12703 """

12704 if hasattr(v, "_utype"):

12705 v = v._utype(v)

12706 try:

12707 t = YANGDynClass(v,base=YANGListType("type",yc_address_data_etsi_nfv_vnfd__vnfd_ext_cpd_protocol_address_data, yang_name="address-data", parent=self, is_container='list', user_ordered=False, path_helper=self._path_helper, yang_keys='type', extensions=None), is_container='list', yang_name="address-data", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, extensions=None, namespace='urn:etsi:nfv:yang:etsi-nfv-vnfd', defining_module='etsi-nfv-vnfd', yang_type='list', is_config=True)

12708 except (TypeError, ValueError):

12709 raise ValueError({

12710 'error-string': """address_data must be of a type compatible with list""",

12711 'defined-type': "list",

12712 'generated-type': """YANGDynClass(base=YANGListType("type",yc_address_data_etsi_nfv_vnfd__vnfd_ext_cpd_protocol_address_data, yang_name="address-data", parent=self, is_container='list', user_ordered=False, path_helper=self._path_helper, yang_keys='type', extensions=None), is_container='list', yang_name="address-data", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, extensions=None, namespace='urn:etsi:nfv:yang:etsi-nfv-vnfd', defining_module='etsi-nfv-vnfd', yang_type='list', is_config=True)""",

12713 })

12714

12715 self.__address_data = t

12716 if hasattr(self, '_set'):

12717 self._set()

12718

12719 def _unset_address_data(self):

12720 self.__address_data = YANGDynClass(base=YANGListType("type",yc_address_data_etsi_nfv_vnfd__vnfd_ext_cpd_protocol_address_data, yang_name="address-data", parent=self, is_container='list', user_ordered=False, path_helper=self._path_helper, yang_keys='type', extensions=None), is_container='list', yang_name="address-data", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, extensions=None, namespace='urn:etsi:nfv:yang:etsi-nfv-vnfd', defining_module='etsi-nfv-vnfd', yang_type='list', is_config=True)

12721

12722 associated_layer_protocol = __builtin__.property(_get_associated_layer_protocol, _set_associated_layer_protocol)

12723 address_data = __builtin__.property(_get_address_data, _set_address_data)

12724

12725

12726 _pyangbind_elements = OrderedDict([('associated_layer_protocol', associated_layer_protocol), ('address_data', address_data), ])

12727

12728

12729 class yc_ext_cpd_etsi_nfv_vnfd__vnfd_ext_cpd(PybindBase):

12730 """

12731 This class was auto-generated by the PythonClass plugin for PYANG

12732 from YANG module etsi-nfv-vnfd - based on the path /vnfd/ext-cpd. Each member element of

12733 the container is represented as a class variable - with a specific

12734 YANG type.

12735

12736 YANG Description: Describes an external interface exposed by this VNF enabling

12737 connection with a Virual Link

12738 """

12739 __slots__ = ('_path_helper', '_extmethods', '__int_virtual_link_desc','__int_cpd','__k8s_cluster_net','__virtual_network_interface_requirement','__nicio_requirements','__id','__layer_protocol','__role','__description','__protocol','__trunk_mode','__security_group_rule_id','__port_security_enabled','__port_security_disable_strategy',)

12740

12741 _yang_name = 'ext-cpd'

12742 _yang_namespace = 'urn:etsi:nfv:yang:etsi-nfv-vnfd'

12743

12744 _pybind_generated_by = 'container'

12745

12746 def __init__(self, *args, **kwargs):

12747

12748 self._path_helper = False

12749

12750 self._extmethods = False

12751 self.__int_virtual_link_desc = YANGDynClass(base=str, is_leaf=True, yang_name="int-virtual-link-desc", parent=self, choice=('cp-connection', 'int-virtual-link-desc'), path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='urn:etsi:nfv:yang:etsi-nfv-vnfd', defining_module='etsi-nfv-vnfd', yang_type='leafref', is_config=True)

12752 self.__int_cpd = YANGDynClass(base=yc_int_cpd_etsi_nfv_vnfd__vnfd_ext_cpd_int_cpd, is_container='container', yang_name="int-cpd", parent=self, choice=('cp-connection', 'int-cpd'), path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, extensions=None, namespace='urn:etsi:nfv:yang:etsi-nfv-vnfd', defining_module='etsi-nfv-vnfd', yang_type='container', is_config=True)

12753 self.__k8s_cluster_net = YANGDynClass(base=str, is_leaf=True, yang_name="k8s-cluster-net", parent=self, choice=('cp-connection', 'k8s-cluster-net'), path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='urn:etsi:osm:yang:augments:kdu', defining_module='kdu', yang_type='leafref', is_config=True)

12754 self.__virtual_network_interface_requirement = YANGDynClass(base=YANGListType("name",yc_virtual_network_interface_requirement_etsi_nfv_vnfd__vnfd_ext_cpd_virtual_network_interface_requirement, yang_name="virtual-network-interface-requirement", parent=self, is_container='list', user_ordered=False, path_helper=self._path_helper, yang_keys='name', extensions=None), is_container='list', yang_name="virtual-network-interface-requirement", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, extensions=None, namespace='urn:etsi:nfv:yang:etsi-nfv-vnfd', defining_module='etsi-nfv-vnfd', yang_type='list', is_config=True)

12755 self.__nicio_requirements = YANGDynClass(base=str, is_leaf=True, yang_name="nicio-requirements", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='urn:etsi:nfv:yang:etsi-nfv-vnfd', defining_module='etsi-nfv-vnfd', yang_type='leafref', is_config=True)

12756 self.__id = YANGDynClass(base=str, is_leaf=True, yang_name="id", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, is_keyval=True, namespace='urn:etsi:nfv:yang:etsi-nfv-vnfd', defining_module='etsi-nfv-vnfd', yang_type='string', is_config=True)

12757 self.__layer_protocol = YANGDynClass(unique=True, base=TypedListType(allowed_type=RestrictedClassType(base_type=str, restriction_type="dict_key", restriction_arg={'ethernet': {'@module': 'etsi-nfv-descriptors', '@namespace': 'urn:etsi:nfv:yang:etsi-nfv-descriptors'}, 'etsi-nfv-descriptors:ethernet': {'@module': 'etsi-nfv-descriptors', '@namespace': 'urn:etsi:nfv:yang:etsi-nfv-descriptors'}, 'nfv:ethernet': {'@module': 'etsi-nfv-descriptors', '@namespace': 'urn:etsi:nfv:yang:etsi-nfv-descriptors'}, 'descriptors:ethernet': {'@module': 'etsi-nfv-descriptors', '@namespace': 'urn:etsi:nfv:yang:etsi-nfv-descriptors'}, 'vnf:ethernet': {'@module': 'etsi-nfv-descriptors', '@namespace': 'urn:etsi:nfv:yang:etsi-nfv-descriptors'}, 'mpls': {'@module': 'etsi-nfv-descriptors', '@namespace': 'urn:etsi:nfv:yang:etsi-nfv-descriptors'}, 'etsi-nfv-descriptors:mpls': {'@module': 'etsi-nfv-descriptors', '@namespace': 'urn:etsi:nfv:yang:etsi-nfv-descriptors'}, 'nfv:mpls': {'@module': 'etsi-nfv-descriptors', '@namespace': 'urn:etsi:nfv:yang:etsi-nfv-descriptors'}, 'descriptors:mpls': {'@module': 'etsi-nfv-descriptors', '@namespace': 'urn:etsi:nfv:yang:etsi-nfv-descriptors'}, 'vnf:mpls': {'@module': 'etsi-nfv-descriptors', '@namespace': 'urn:etsi:nfv:yang:etsi-nfv-descriptors'}, 'odu2': {'@module': 'etsi-nfv-descriptors', '@namespace': 'urn:etsi:nfv:yang:etsi-nfv-descriptors'}, 'etsi-nfv-descriptors:odu2': {'@module': 'etsi-nfv-descriptors', '@namespace': 'urn:etsi:nfv:yang:etsi-nfv-descriptors'}, 'nfv:odu2': {'@module': 'etsi-nfv-descriptors', '@namespace': 'urn:etsi:nfv:yang:etsi-nfv-descriptors'}, 'descriptors:odu2': {'@module': 'etsi-nfv-descriptors', '@namespace': 'urn:etsi:nfv:yang:etsi-nfv-descriptors'}, 'vnf:odu2': {'@module': 'etsi-nfv-descriptors', '@namespace': 'urn:etsi:nfv:yang:etsi-nfv-descriptors'}, 'ipv4': {'@module': 'etsi-nfv-descriptors', '@namespace': 'urn:etsi:nfv:yang:etsi-nfv-descriptors'}, 'etsi-nfv-descriptors:ipv4': {'@module': 'etsi-nfv-descriptors', '@namespace': 'urn:etsi:nfv:yang:etsi-nfv-descriptors'}, 'nfv:ipv4': {'@module': 'etsi-nfv-descriptors', '@namespace': 'urn:etsi:nfv:yang:etsi-nfv-descriptors'}, 'descriptors:ipv4': {'@module': 'etsi-nfv-descriptors', '@namespace': 'urn:etsi:nfv:yang:etsi-nfv-descriptors'}, 'vnf:ipv4': {'@module': 'etsi-nfv-descriptors', '@namespace': 'urn:etsi:nfv:yang:etsi-nfv-descriptors'}, 'ipv6': {'@module': 'etsi-nfv-descriptors', '@namespace': 'urn:etsi:nfv:yang:etsi-nfv-descriptors'}, 'etsi-nfv-descriptors:ipv6': {'@module': 'etsi-nfv-descriptors', '@namespace': 'urn:etsi:nfv:yang:etsi-nfv-descriptors'}, 'nfv:ipv6': {'@module': 'etsi-nfv-descriptors', '@namespace': 'urn:etsi:nfv:yang:etsi-nfv-descriptors'}, 'descriptors:ipv6': {'@module': 'etsi-nfv-descriptors', '@namespace': 'urn:etsi:nfv:yang:etsi-nfv-descriptors'}, 'vnf:ipv6': {'@module': 'etsi-nfv-descriptors', '@namespace': 'urn:etsi:nfv:yang:etsi-nfv-descriptors'}, 'pseudo-wire': {'@module': 'etsi-nfv-descriptors', '@namespace': 'urn:etsi:nfv:yang:etsi-nfv-descriptors'}, 'etsi-nfv-descriptors:pseudo-wire': {'@module': 'etsi-nfv-descriptors', '@namespace': 'urn:etsi:nfv:yang:etsi-nfv-descriptors'}, 'nfv:pseudo-wire': {'@module': 'etsi-nfv-descriptors', '@namespace': 'urn:etsi:nfv:yang:etsi-nfv-descriptors'}, 'descriptors:pseudo-wire': {'@module': 'etsi-nfv-descriptors', '@namespace': 'urn:etsi:nfv:yang:etsi-nfv-descriptors'}, 'vnf:pseudo-wire': {'@module': 'etsi-nfv-descriptors', '@namespace': 'urn:etsi:nfv:yang:etsi-nfv-descriptors'}},)), default=str("ethernet"), is_leaf=False, yang_name="layer-protocol", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='urn:etsi:nfv:yang:etsi-nfv-vnfd', defining_module='etsi-nfv-vnfd', yang_type='identityref', is_config=True)

12758 self.__role = YANGDynClass(base=RestrictedClassType(base_type=str, restriction_type="dict_key", restriction_arg={'root': {'@module': 'etsi-nfv-descriptors', '@namespace': 'urn:etsi:nfv:yang:etsi-nfv-descriptors'}, 'etsi-nfv-descriptors:root': {'@module': 'etsi-nfv-descriptors', '@namespace': 'urn:etsi:nfv:yang:etsi-nfv-descriptors'}, 'nfv:root': {'@module': 'etsi-nfv-descriptors', '@namespace': 'urn:etsi:nfv:yang:etsi-nfv-descriptors'}, 'descriptors:root': {'@module': 'etsi-nfv-descriptors', '@namespace': 'urn:etsi:nfv:yang:etsi-nfv-descriptors'}, 'vnf:root': {'@module': 'etsi-nfv-descriptors', '@namespace': 'urn:etsi:nfv:yang:etsi-nfv-descriptors'}, 'leaf': {'@module': 'etsi-nfv-descriptors', '@namespace': 'urn:etsi:nfv:yang:etsi-nfv-descriptors'}, 'etsi-nfv-descriptors:leaf': {'@module': 'etsi-nfv-descriptors', '@namespace': 'urn:etsi:nfv:yang:etsi-nfv-descriptors'}, 'nfv:leaf': {'@module': 'etsi-nfv-descriptors', '@namespace': 'urn:etsi:nfv:yang:etsi-nfv-descriptors'}, 'descriptors:leaf': {'@module': 'etsi-nfv-descriptors', '@namespace': 'urn:etsi:nfv:yang:etsi-nfv-descriptors'}, 'vnf:leaf': {'@module': 'etsi-nfv-descriptors', '@namespace': 'urn:etsi:nfv:yang:etsi-nfv-descriptors'}},), is_leaf=True, yang_name="role", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='urn:etsi:nfv:yang:etsi-nfv-vnfd', defining_module='etsi-nfv-vnfd', yang_type='identityref', is_config=True)

12759 self.__description = YANGDynClass(base=str, is_leaf=True, yang_name="description", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='urn:etsi:nfv:yang:etsi-nfv-vnfd', defining_module='etsi-nfv-vnfd', yang_type='string', is_config=True)

12760 self.__protocol = YANGDynClass(base=YANGListType("associated_layer_protocol",yc_protocol_etsi_nfv_vnfd__vnfd_ext_cpd_protocol, yang_name="protocol", parent=self, is_container='list', user_ordered=False, path_helper=self._path_helper, yang_keys='associated-layer-protocol', extensions=None), is_container='list', yang_name="protocol", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, extensions=None, namespace='urn:etsi:nfv:yang:etsi-nfv-vnfd', defining_module='etsi-nfv-vnfd', yang_type='list', is_config=True)

12761 self.__trunk_mode = YANGDynClass(base=YANGBool, is_leaf=True, yang_name="trunk-mode", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='urn:etsi:nfv:yang:etsi-nfv-vnfd', defining_module='etsi-nfv-vnfd', yang_type='boolean', is_config=True)

12762 self.__security_group_rule_id = YANGDynClass(base=str, is_leaf=True, yang_name="security-group-rule-id", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='urn:etsi:nfv:yang:etsi-nfv-vnfd', defining_module='etsi-nfv-vnfd', yang_type='leafref', is_config=True)

12763 self.__port_security_enabled = YANGDynClass(base=YANGBool, default=YANGBool("true"), is_leaf=True, yang_name="port-security-enabled", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='urn:etsi:osm:yang:augments:various', defining_module='various', yang_type='boolean', is_config=True)

12764 self.__port_security_disable_strategy = YANGDynClass(base=RestrictedClassType(base_type=str, restriction_type="dict_key", restriction_arg={'full': {}, 'allow-address-pairs': {}},), default=str("full"), is_leaf=True, yang_name="port-security-disable-strategy", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='urn:etsi:osm:yang:augments:various', defining_module='various', yang_type='enumeration', is_config=True)

12765

12766 load = kwargs.pop("load", None)

12767 if args:

12768 if len(args) > 1:

12769 raise TypeError("cannot create a YANG container with >1 argument")

12770 all_attr = True

12771 for e in self._pyangbind_elements:

12772 if not hasattr(args[0], e):

12773 all_attr = False

12774 break

12775 if not all_attr:

12776 raise ValueError("Supplied object did not have the correct attributes")

12777 for e in self._pyangbind_elements:

12778 nobj = getattr(args[0], e)

12779 if nobj._changed() is False:

12780 continue

12781 setmethod = getattr(self, "_set_%s" % e)

12782 if load is None:

12783 setmethod(getattr(args[0], e))

12784 else:

12785 setmethod(getattr(args[0], e), load=load)

12786

12787 def _path(self):

12788 if hasattr(self, "_parent"):

12789 return self._parent._path()+[self._yang_name]

12790 else:

12791 return ['vnfd', 'ext-cpd']

12792

12793 def _get_int_virtual_link_desc(self):

12794 """

12795 Getter method for int_virtual_link_desc, mapped from YANG variable /vnfd/ext_cpd/int_virtual_link_desc (leafref)

12796

12797 YANG Description: Reference to the internal Virtual Link Descriptor (VLD)

12798 to which CPs instantiated from this external CP

12799 Descriptor (CPD) connect. Either intVirtualLinkDesc or

12800 intCpd shall be present.

12801 """

12802 return self.__int_virtual_link_desc

12803

12804 def _set_int_virtual_link_desc(self, v, load=False):

12805 """

12806 Setter method for int_virtual_link_desc, mapped from YANG variable /vnfd/ext_cpd/int_virtual_link_desc (leafref)

12807 If this variable is read-only (config: false) in the

12808 source YANG file, then _set_int_virtual_link_desc is considered as a private

12809 method. Backends looking to populate this variable should

12810 do so via calling thisObj._set_int_virtual_link_desc() directly.

12811

12812 YANG Description: Reference to the internal Virtual Link Descriptor (VLD)

12813 to which CPs instantiated from this external CP

12814 Descriptor (CPD) connect. Either intVirtualLinkDesc or

12815 intCpd shall be present.

12816 """

12817 if hasattr(v, "_utype"):

12818 v = v._utype(v)

12819 try:

12820 t = YANGDynClass(v,base=str, is_leaf=True, yang_name="int-virtual-link-desc", parent=self, choice=('cp-connection', 'int-virtual-link-desc'), path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='urn:etsi:nfv:yang:etsi-nfv-vnfd', defining_module='etsi-nfv-vnfd', yang_type='leafref', is_config=True)

12821 except (TypeError, ValueError):

12822 raise ValueError({

12823 'error-string': """int_virtual_link_desc must be of a type compatible with leafref""",

12824 'defined-type': "leafref",

12825 'generated-type': """YANGDynClass(base=str, is_leaf=True, yang_name="int-virtual-link-desc", parent=self, choice=('cp-connection', 'int-virtual-link-desc'), path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='urn:etsi:nfv:yang:etsi-nfv-vnfd', defining_module='etsi-nfv-vnfd', yang_type='leafref', is_config=True)""",

12826 })

12827

12828 self.__int_virtual_link_desc = t

12829 if hasattr(self, '_set'):

12830 self._set()

12831

12832 def _unset_int_virtual_link_desc(self):

12833 self.__int_virtual_link_desc = YANGDynClass(base=str, is_leaf=True, yang_name="int-virtual-link-desc", parent=self, choice=('cp-connection', 'int-virtual-link-desc'), path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='urn:etsi:nfv:yang:etsi-nfv-vnfd', defining_module='etsi-nfv-vnfd', yang_type='leafref', is_config=True)

12834

12835

12836 def _get_int_cpd(self):

12837 """

12838 Getter method for int_cpd, mapped from YANG variable /vnfd/ext_cpd/int_cpd (container)

12839 """

12840 return self.__int_cpd

12841

12842 def _set_int_cpd(self, v, load=False):

12843 """

12844 Setter method for int_cpd, mapped from YANG variable /vnfd/ext_cpd/int_cpd (container)

12845 If this variable is read-only (config: false) in the

12846 source YANG file, then _set_int_cpd is considered as a private

12847 method. Backends looking to populate this variable should

12848 do so via calling thisObj._set_int_cpd() directly.

12849 """

12850 if hasattr(v, "_utype"):

12851 v = v._utype(v)

12852 try:

12853 t = YANGDynClass(v,base=yc_int_cpd_etsi_nfv_vnfd__vnfd_ext_cpd_int_cpd, is_container='container', yang_name="int-cpd", parent=self, choice=('cp-connection', 'int-cpd'), path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, extensions=None, namespace='urn:etsi:nfv:yang:etsi-nfv-vnfd', defining_module='etsi-nfv-vnfd', yang_type='container', is_config=True)

12854 except (TypeError, ValueError):

12855 raise ValueError({

12856 'error-string': """int_cpd must be of a type compatible with container""",

12857 'defined-type': "container",

12858 'generated-type': """YANGDynClass(base=yc_int_cpd_etsi_nfv_vnfd__vnfd_ext_cpd_int_cpd, is_container='container', yang_name="int-cpd", parent=self, choice=('cp-connection', 'int-cpd'), path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, extensions=None, namespace='urn:etsi:nfv:yang:etsi-nfv-vnfd', defining_module='etsi-nfv-vnfd', yang_type='container', is_config=True)""",

12859 })

12860

12861 self.__int_cpd = t

12862 if hasattr(self, '_set'):

12863 self._set()

12864

12865 def _unset_int_cpd(self):

12866 self.__int_cpd = YANGDynClass(base=yc_int_cpd_etsi_nfv_vnfd__vnfd_ext_cpd_int_cpd, is_container='container', yang_name="int-cpd", parent=self, choice=('cp-connection', 'int-cpd'), path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, extensions=None, namespace='urn:etsi:nfv:yang:etsi-nfv-vnfd', defining_module='etsi-nfv-vnfd', yang_type='container', is_config=True)

12867

12868

12869 def _get_k8s_cluster_net(self):

12870 """

12871 Getter method for k8s_cluster_net, mapped from YANG variable /vnfd/ext_cpd/k8s_cluster_net (leafref)

12872

12873 YANG Description: Reference to the K8s cluster network

12874 to which CPs instantiated from this external CP

12875 Descriptor (CPD) connect.

12876 """

12877 return self.__k8s_cluster_net

12878

12879 def _set_k8s_cluster_net(self, v, load=False):

12880 """

12881 Setter method for k8s_cluster_net, mapped from YANG variable /vnfd/ext_cpd/k8s_cluster_net (leafref)

12882 If this variable is read-only (config: false) in the

12883 source YANG file, then _set_k8s_cluster_net is considered as a private

12884 method. Backends looking to populate this variable should

12885 do so via calling thisObj._set_k8s_cluster_net() directly.

12886

12887 YANG Description: Reference to the K8s cluster network

12888 to which CPs instantiated from this external CP

12889 Descriptor (CPD) connect.

12890 """

12891 if hasattr(v, "_utype"):

12892 v = v._utype(v)

12893 try:

12894 t = YANGDynClass(v,base=str, is_leaf=True, yang_name="k8s-cluster-net", parent=self, choice=('cp-connection', 'k8s-cluster-net'), path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='urn:etsi:osm:yang:augments:kdu', defining_module='kdu', yang_type='leafref', is_config=True)

12895 except (TypeError, ValueError):

12896 raise ValueError({

12897 'error-string': """k8s_cluster_net must be of a type compatible with leafref""",

12898 'defined-type': "leafref",

12899 'generated-type': """YANGDynClass(base=str, is_leaf=True, yang_name="k8s-cluster-net", parent=self, choice=('cp-connection', 'k8s-cluster-net'), path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='urn:etsi:osm:yang:augments:kdu', defining_module='kdu', yang_type='leafref', is_config=True)""",

12900 })

12901

12902 self.__k8s_cluster_net = t

12903 if hasattr(self, '_set'):

12904 self._set()

12905

12906 def _unset_k8s_cluster_net(self):

12907 self.__k8s_cluster_net = YANGDynClass(base=str, is_leaf=True, yang_name="k8s-cluster-net", parent=self, choice=('cp-connection', 'k8s-cluster-net'), path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='urn:etsi:osm:yang:augments:kdu', defining_module='kdu', yang_type='leafref', is_config=True)

12908

12909

12910 def _get_virtual_network_interface_requirement(self):

12911 """

12912 Getter method for virtual_network_interface_requirement, mapped from YANG variable /vnfd/ext_cpd/virtual_network_interface_requirement (list)

12913

12914 YANG Description: Specifies requirements on a virtual network interface

12915 realising the CPs instantiated from this CPD.

12916 """

12917 return self.__virtual_network_interface_requirement

12918

12919 def _set_virtual_network_interface_requirement(self, v, load=False):

12920 """

12921 Setter method for virtual_network_interface_requirement, mapped from YANG variable /vnfd/ext_cpd/virtual_network_interface_requirement (list)

12922 If this variable is read-only (config: false) in the

12923 source YANG file, then _set_virtual_network_interface_requirement is considered as a private

12924 method. Backends looking to populate this variable should

12925 do so via calling thisObj._set_virtual_network_interface_requirement() directly.

12926

12927 YANG Description: Specifies requirements on a virtual network interface

12928 realising the CPs instantiated from this CPD.

12929 """

12930 if hasattr(v, "_utype"):

12931 v = v._utype(v)

12932 try:

12933 t = YANGDynClass(v,base=YANGListType("name",yc_virtual_network_interface_requirement_etsi_nfv_vnfd__vnfd_ext_cpd_virtual_network_interface_requirement, yang_name="virtual-network-interface-requirement", parent=self, is_container='list', user_ordered=False, path_helper=self._path_helper, yang_keys='name', extensions=None), is_container='list', yang_name="virtual-network-interface-requirement", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, extensions=None, namespace='urn:etsi:nfv:yang:etsi-nfv-vnfd', defining_module='etsi-nfv-vnfd', yang_type='list', is_config=True)

12934 except (TypeError, ValueError):

12935 raise ValueError({

12936 'error-string': """virtual_network_interface_requirement must be of a type compatible with list""",

12937 'defined-type': "list",

12938 'generated-type': """YANGDynClass(base=YANGListType("name",yc_virtual_network_interface_requirement_etsi_nfv_vnfd__vnfd_ext_cpd_virtual_network_interface_requirement, yang_name="virtual-network-interface-requirement", parent=self, is_container='list', user_ordered=False, path_helper=self._path_helper, yang_keys='name', extensions=None), is_container='list', yang_name="virtual-network-interface-requirement", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, extensions=None, namespace='urn:etsi:nfv:yang:etsi-nfv-vnfd', defining_module='etsi-nfv-vnfd', yang_type='list', is_config=True)""",

12939 })

12940

12941 self.__virtual_network_interface_requirement = t

12942 if hasattr(self, '_set'):

12943 self._set()

12944

12945 def _unset_virtual_network_interface_requirement(self):

12946 self.__virtual_network_interface_requirement = YANGDynClass(base=YANGListType("name",yc_virtual_network_interface_requirement_etsi_nfv_vnfd__vnfd_ext_cpd_virtual_network_interface_requirement, yang_name="virtual-network-interface-requirement", parent=self, is_container='list', user_ordered=False, path_helper=self._path_helper, yang_keys='name', extensions=None), is_container='list', yang_name="virtual-network-interface-requirement", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, extensions=None, namespace='urn:etsi:nfv:yang:etsi-nfv-vnfd', defining_module='etsi-nfv-vnfd', yang_type='list', is_config=True)

12947

12948

12949 def _get_nicio_requirements(self):

12950 """

12951 Getter method for nicio_requirements, mapped from YANG variable /vnfd/ext_cpd/nicio_requirements (leafref)

12952

12953 YANG Description: This references (couples) the CPD with any logical node I/O

12954 requirements (for network devices) that may have been

12955 created. Linking these attributes is necessary so that so

12956 that I/O requirements that need to be articulated at the

12957 logical node level can be associated with the network

12958 interface requirements associated with the CPD.

12959 """

12960 return self.__nicio_requirements

12961

12962 def _set_nicio_requirements(self, v, load=False):

12963 """

12964 Setter method for nicio_requirements, mapped from YANG variable /vnfd/ext_cpd/nicio_requirements (leafref)

12965 If this variable is read-only (config: false) in the

12966 source YANG file, then _set_nicio_requirements is considered as a private

12967 method. Backends looking to populate this variable should

12968 do so via calling thisObj._set_nicio_requirements() directly.

12969

12970 YANG Description: This references (couples) the CPD with any logical node I/O

12971 requirements (for network devices) that may have been

12972 created. Linking these attributes is necessary so that so

12973 that I/O requirements that need to be articulated at the

12974 logical node level can be associated with the network

12975 interface requirements associated with the CPD.

12976 """

12977 if hasattr(v, "_utype"):

12978 v = v._utype(v)

12979 try:

12980 t = YANGDynClass(v,base=str, is_leaf=True, yang_name="nicio-requirements", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='urn:etsi:nfv:yang:etsi-nfv-vnfd', defining_module='etsi-nfv-vnfd', yang_type='leafref', is_config=True)

12981 except (TypeError, ValueError):

12982 raise ValueError({

12983 'error-string': """nicio_requirements must be of a type compatible with leafref""",

12984 'defined-type': "leafref",

12985 'generated-type': """YANGDynClass(base=str, is_leaf=True, yang_name="nicio-requirements", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='urn:etsi:nfv:yang:etsi-nfv-vnfd', defining_module='etsi-nfv-vnfd', yang_type='leafref', is_config=True)""",

12986 })

12987

12988 self.__nicio_requirements = t

12989 if hasattr(self, '_set'):

12990 self._set()

12991

12992 def _unset_nicio_requirements(self):

12993 self.__nicio_requirements = YANGDynClass(base=str, is_leaf=True, yang_name="nicio-requirements", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='urn:etsi:nfv:yang:etsi-nfv-vnfd', defining_module='etsi-nfv-vnfd', yang_type='leafref', is_config=True)

12994

12995

12996 def _get_id(self):

12997 """

12998 Getter method for id, mapped from YANG variable /vnfd/ext_cpd/id (string)

12999

13000 YANG Description: Identifier of this Cpd information element.

13001 """

13002 return self.__id

13003

13004 def _set_id(self, v, load=False):

13005 """

13006 Setter method for id, mapped from YANG variable /vnfd/ext_cpd/id (string)

13007 If this variable is read-only (config: false) in the

13008 source YANG file, then _set_id is considered as a private

13009 method. Backends looking to populate this variable should

13010 do so via calling thisObj._set_id() directly.

13011

13012 YANG Description: Identifier of this Cpd information element.

13013 """

13014 parent = getattr(self, "_parent", None)

13015 if parent is not None and load is False:

13016 raise AttributeError("Cannot set keys directly when" +

13017 " within an instantiated list")

13018

13019 if hasattr(v, "_utype"):

13020 v = v._utype(v)

13021 try:

13022 t = YANGDynClass(v,base=str, is_leaf=True, yang_name="id", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, is_keyval=True, namespace='urn:etsi:nfv:yang:etsi-nfv-vnfd', defining_module='etsi-nfv-vnfd', yang_type='string', is_config=True)

13023 except (TypeError, ValueError):

13024 raise ValueError({

13025 'error-string': """id must be of a type compatible with string""",

13026 'defined-type': "string",

13027 'generated-type': """YANGDynClass(base=str, is_leaf=True, yang_name="id", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, is_keyval=True, namespace='urn:etsi:nfv:yang:etsi-nfv-vnfd', defining_module='etsi-nfv-vnfd', yang_type='string', is_config=True)""",

13028 })

13029

13030 self.__id = t

13031 if hasattr(self, '_set'):

13032 self._set()

13033

13034 def _unset_id(self):

13035 self.__id = YANGDynClass(base=str, is_leaf=True, yang_name="id", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, is_keyval=True, namespace='urn:etsi:nfv:yang:etsi-nfv-vnfd', defining_module='etsi-nfv-vnfd', yang_type='string', is_config=True)

13036

13037

13038 def _get_layer_protocol(self):

13039 """

13040 Getter method for layer_protocol, mapped from YANG variable /vnfd/ext_cpd/layer_protocol (identityref)

13041

13042 YANG Description: Identifies a protocol that the connection points

13043 corresponding to the CPD support for connectivity purposes

13044(e.g. Ethernet, MPLS, ODU2, IPV4, IPV6, Pseudo-Wire, etc.).

13045 """

13046 return self.__layer_protocol

13047

13048 def _set_layer_protocol(self, v, load=False):

13049 """

13050 Setter method for layer_protocol, mapped from YANG variable /vnfd/ext_cpd/layer_protocol (identityref)

13051 If this variable is read-only (config: false) in the

13052 source YANG file, then _set_layer_protocol is considered as a private

13053 method. Backends looking to populate this variable should

13054 do so via calling thisObj._set_layer_protocol() directly.

13055

13056 YANG Description: Identifies a protocol that the connection points

13057 corresponding to the CPD support for connectivity purposes

13058(e.g. Ethernet, MPLS, ODU2, IPV4, IPV6, Pseudo-Wire, etc.).

13059 """

13060 if hasattr(v, "_utype"):

13061 v = v._utype(v)

13062 try:

13063 t = YANGDynClass(v,unique=True, base=TypedListType(allowed_type=RestrictedClassType(base_type=str, restriction_type="dict_key", restriction_arg={'ethernet': {'@module': 'etsi-nfv-descriptors', '@namespace': 'urn:etsi:nfv:yang:etsi-nfv-descriptors'}, 'etsi-nfv-descriptors:ethernet': {'@module': 'etsi-nfv-descriptors', '@namespace': 'urn:etsi:nfv:yang:etsi-nfv-descriptors'}, 'nfv:ethernet': {'@module': 'etsi-nfv-descriptors', '@namespace': 'urn:etsi:nfv:yang:etsi-nfv-descriptors'}, 'descriptors:ethernet': {'@module': 'etsi-nfv-descriptors', '@namespace': 'urn:etsi:nfv:yang:etsi-nfv-descriptors'}, 'vnf:ethernet': {'@module': 'etsi-nfv-descriptors', '@namespace': 'urn:etsi:nfv:yang:etsi-nfv-descriptors'}, 'mpls': {'@module': 'etsi-nfv-descriptors', '@namespace': 'urn:etsi:nfv:yang:etsi-nfv-descriptors'}, 'etsi-nfv-descriptors:mpls': {'@module': 'etsi-nfv-descriptors', '@namespace': 'urn:etsi:nfv:yang:etsi-nfv-descriptors'}, 'nfv:mpls': {'@module': 'etsi-nfv-descriptors', '@namespace': 'urn:etsi:nfv:yang:etsi-nfv-descriptors'}, 'descriptors:mpls': {'@module': 'etsi-nfv-descriptors', '@namespace': 'urn:etsi:nfv:yang:etsi-nfv-descriptors'}, 'vnf:mpls': {'@module': 'etsi-nfv-descriptors', '@namespace': 'urn:etsi:nfv:yang:etsi-nfv-descriptors'}, 'odu2': {'@module': 'etsi-nfv-descriptors', '@namespace': 'urn:etsi:nfv:yang:etsi-nfv-descriptors'}, 'etsi-nfv-descriptors:odu2': {'@module': 'etsi-nfv-descriptors', '@namespace': 'urn:etsi:nfv:yang:etsi-nfv-descriptors'}, 'nfv:odu2': {'@module': 'etsi-nfv-descriptors', '@namespace': 'urn:etsi:nfv:yang:etsi-nfv-descriptors'}, 'descriptors:odu2': {'@module': 'etsi-nfv-descriptors', '@namespace': 'urn:etsi:nfv:yang:etsi-nfv-descriptors'}, 'vnf:odu2': {'@module': 'etsi-nfv-descriptors', '@namespace': 'urn:etsi:nfv:yang:etsi-nfv-descriptors'}, 'ipv4': {'@module': 'etsi-nfv-descriptors', '@namespace': 'urn:etsi:nfv:yang:etsi-nfv-descriptors'}, 'etsi-nfv-descriptors:ipv4': {'@module': 'etsi-nfv-descriptors', '@namespace': 'urn:etsi:nfv:yang:etsi-nfv-descriptors'}, 'nfv:ipv4': {'@module': 'etsi-nfv-descriptors', '@namespace': 'urn:etsi:nfv:yang:etsi-nfv-descriptors'}, 'descriptors:ipv4': {'@module': 'etsi-nfv-descriptors', '@namespace': 'urn:etsi:nfv:yang:etsi-nfv-descriptors'}, 'vnf:ipv4': {'@module': 'etsi-nfv-descriptors', '@namespace': 'urn:etsi:nfv:yang:etsi-nfv-descriptors'}, 'ipv6': {'@module': 'etsi-nfv-descriptors', '@namespace': 'urn:etsi:nfv:yang:etsi-nfv-descriptors'}, 'etsi-nfv-descriptors:ipv6': {'@module': 'etsi-nfv-descriptors', '@namespace': 'urn:etsi:nfv:yang:etsi-nfv-descriptors'}, 'nfv:ipv6': {'@module': 'etsi-nfv-descriptors', '@namespace': 'urn:etsi:nfv:yang:etsi-nfv-descriptors'}, 'descriptors:ipv6': {'@module': 'etsi-nfv-descriptors', '@namespace': 'urn:etsi:nfv:yang:etsi-nfv-descriptors'}, 'vnf:ipv6': {'@module': 'etsi-nfv-descriptors', '@namespace': 'urn:etsi:nfv:yang:etsi-nfv-descriptors'}, 'pseudo-wire': {'@module': 'etsi-nfv-descriptors', '@namespace': 'urn:etsi:nfv:yang:etsi-nfv-descriptors'}, 'etsi-nfv-descriptors:pseudo-wire': {'@module': 'etsi-nfv-descriptors', '@namespace': 'urn:etsi:nfv:yang:etsi-nfv-descriptors'}, 'nfv:pseudo-wire': {'@module': 'etsi-nfv-descriptors', '@namespace': 'urn:etsi:nfv:yang:etsi-nfv-descriptors'}, 'descriptors:pseudo-wire': {'@module': 'etsi-nfv-descriptors', '@namespace': 'urn:etsi:nfv:yang:etsi-nfv-descriptors'}, 'vnf:pseudo-wire': {'@module': 'etsi-nfv-descriptors', '@namespace': 'urn:etsi:nfv:yang:etsi-nfv-descriptors'}},)), default=str("ethernet"), is_leaf=False, yang_name="layer-protocol", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='urn:etsi:nfv:yang:etsi-nfv-vnfd', defining_module='etsi-nfv-vnfd', yang_type='identityref', is_config=True)

13064 except (TypeError, ValueError):

13065 raise ValueError({

13066 'error-string': """layer_protocol must be of a type compatible with identityref""",

13067 'defined-type': "etsi-nfv-vnfd:identityref",

13068 'generated-type': """YANGDynClass(unique=True, base=TypedListType(allowed_type=RestrictedClassType(base_type=str, restriction_type="dict_key", restriction_arg={'ethernet': {'@module': 'etsi-nfv-descriptors', '@namespace': 'urn:etsi:nfv:yang:etsi-nfv-descriptors'}, 'etsi-nfv-descriptors:ethernet': {'@module': 'etsi-nfv-descriptors', '@namespace': 'urn:etsi:nfv:yang:etsi-nfv-descriptors'}, 'nfv:ethernet': {'@module': 'etsi-nfv-descriptors', '@namespace': 'urn:etsi:nfv:yang:etsi-nfv-descriptors'}, 'descriptors:ethernet': {'@module': 'etsi-nfv-descriptors', '@namespace': 'urn:etsi:nfv:yang:etsi-nfv-descriptors'}, 'vnf:ethernet': {'@module': 'etsi-nfv-descriptors', '@namespace': 'urn:etsi:nfv:yang:etsi-nfv-descriptors'}, 'mpls': {'@module': 'etsi-nfv-descriptors', '@namespace': 'urn:etsi:nfv:yang:etsi-nfv-descriptors'}, 'etsi-nfv-descriptors:mpls': {'@module': 'etsi-nfv-descriptors', '@namespace': 'urn:etsi:nfv:yang:etsi-nfv-descriptors'}, 'nfv:mpls': {'@module': 'etsi-nfv-descriptors', '@namespace': 'urn:etsi:nfv:yang:etsi-nfv-descriptors'}, 'descriptors:mpls': {'@module': 'etsi-nfv-descriptors', '@namespace': 'urn:etsi:nfv:yang:etsi-nfv-descriptors'}, 'vnf:mpls': {'@module': 'etsi-nfv-descriptors', '@namespace': 'urn:etsi:nfv:yang:etsi-nfv-descriptors'}, 'odu2': {'@module': 'etsi-nfv-descriptors', '@namespace': 'urn:etsi:nfv:yang:etsi-nfv-descriptors'}, 'etsi-nfv-descriptors:odu2': {'@module': 'etsi-nfv-descriptors', '@namespace': 'urn:etsi:nfv:yang:etsi-nfv-descriptors'}, 'nfv:odu2': {'@module': 'etsi-nfv-descriptors', '@namespace': 'urn:etsi:nfv:yang:etsi-nfv-descriptors'}, 'descriptors:odu2': {'@module': 'etsi-nfv-descriptors', '@namespace': 'urn:etsi:nfv:yang:etsi-nfv-descriptors'}, 'vnf:odu2': {'@module': 'etsi-nfv-descriptors', '@namespace': 'urn:etsi:nfv:yang:etsi-nfv-descriptors'}, 'ipv4': {'@module': 'etsi-nfv-descriptors', '@namespace': 'urn:etsi:nfv:yang:etsi-nfv-descriptors'}, 'etsi-nfv-descriptors:ipv4': {'@module': 'etsi-nfv-descriptors', '@namespace': 'urn:etsi:nfv:yang:etsi-nfv-descriptors'}, 'nfv:ipv4': {'@module': 'etsi-nfv-descriptors', '@namespace': 'urn:etsi:nfv:yang:etsi-nfv-descriptors'}, 'descriptors:ipv4': {'@module': 'etsi-nfv-descriptors', '@namespace': 'urn:etsi:nfv:yang:etsi-nfv-descriptors'}, 'vnf:ipv4': {'@module': 'etsi-nfv-descriptors', '@namespace': 'urn:etsi:nfv:yang:etsi-nfv-descriptors'}, 'ipv6': {'@module': 'etsi-nfv-descriptors', '@namespace': 'urn:etsi:nfv:yang:etsi-nfv-descriptors'}, 'etsi-nfv-descriptors:ipv6': {'@module': 'etsi-nfv-descriptors', '@namespace': 'urn:etsi:nfv:yang:etsi-nfv-descriptors'}, 'nfv:ipv6': {'@module': 'etsi-nfv-descriptors', '@namespace': 'urn:etsi:nfv:yang:etsi-nfv-descriptors'}, 'descriptors:ipv6': {'@module': 'etsi-nfv-descriptors', '@namespace': 'urn:etsi:nfv:yang:etsi-nfv-descriptors'}, 'vnf:ipv6': {'@module': 'etsi-nfv-descriptors', '@namespace': 'urn:etsi:nfv:yang:etsi-nfv-descriptors'}, 'pseudo-wire': {'@module': 'etsi-nfv-descriptors', '@namespace': 'urn:etsi:nfv:yang:etsi-nfv-descriptors'}, 'etsi-nfv-descriptors:pseudo-wire': {'@module': 'etsi-nfv-descriptors', '@namespace': 'urn:etsi:nfv:yang:etsi-nfv-descriptors'}, 'nfv:pseudo-wire': {'@module': 'etsi-nfv-descriptors', '@namespace': 'urn:etsi:nfv:yang:etsi-nfv-descriptors'}, 'descriptors:pseudo-wire': {'@module': 'etsi-nfv-descriptors', '@namespace': 'urn:etsi:nfv:yang:etsi-nfv-descriptors'}, 'vnf:pseudo-wire': {'@module': 'etsi-nfv-descriptors', '@namespace': 'urn:etsi:nfv:yang:etsi-nfv-descriptors'}},)), default=str("ethernet"), is_leaf=False, yang_name="layer-protocol", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='urn:etsi:nfv:yang:etsi-nfv-vnfd', defining_module='etsi-nfv-vnfd', yang_type='identityref', is_config=True)""",

13069 })

13070

13071 self.__layer_protocol = t

13072 if hasattr(self, '_set'):

13073 self._set()

13074

13075 def _unset_layer_protocol(self):

13076 self.__layer_protocol = YANGDynClass(unique=True, base=TypedListType(allowed_type=RestrictedClassType(base_type=str, restriction_type="dict_key", restriction_arg={'ethernet': {'@module': 'etsi-nfv-descriptors', '@namespace': 'urn:etsi:nfv:yang:etsi-nfv-descriptors'}, 'etsi-nfv-descriptors:ethernet': {'@module': 'etsi-nfv-descriptors', '@namespace': 'urn:etsi:nfv:yang:etsi-nfv-descriptors'}, 'nfv:ethernet': {'@module': 'etsi-nfv-descriptors', '@namespace': 'urn:etsi:nfv:yang:etsi-nfv-descriptors'}, 'descriptors:ethernet': {'@module': 'etsi-nfv-descriptors', '@namespace': 'urn:etsi:nfv:yang:etsi-nfv-descriptors'}, 'vnf:ethernet': {'@module': 'etsi-nfv-descriptors', '@namespace': 'urn:etsi:nfv:yang:etsi-nfv-descriptors'}, 'mpls': {'@module': 'etsi-nfv-descriptors', '@namespace': 'urn:etsi:nfv:yang:etsi-nfv-descriptors'}, 'etsi-nfv-descriptors:mpls': {'@module': 'etsi-nfv-descriptors', '@namespace': 'urn:etsi:nfv:yang:etsi-nfv-descriptors'}, 'nfv:mpls': {'@module': 'etsi-nfv-descriptors', '@namespace': 'urn:etsi:nfv:yang:etsi-nfv-descriptors'}, 'descriptors:mpls': {'@module': 'etsi-nfv-descriptors', '@namespace': 'urn:etsi:nfv:yang:etsi-nfv-descriptors'}, 'vnf:mpls': {'@module': 'etsi-nfv-descriptors', '@namespace': 'urn:etsi:nfv:yang:etsi-nfv-descriptors'}, 'odu2': {'@module': 'etsi-nfv-descriptors', '@namespace': 'urn:etsi:nfv:yang:etsi-nfv-descriptors'}, 'etsi-nfv-descriptors:odu2': {'@module': 'etsi-nfv-descriptors', '@namespace': 'urn:etsi:nfv:yang:etsi-nfv-descriptors'}, 'nfv:odu2': {'@module': 'etsi-nfv-descriptors', '@namespace': 'urn:etsi:nfv:yang:etsi-nfv-descriptors'}, 'descriptors:odu2': {'@module': 'etsi-nfv-descriptors', '@namespace': 'urn:etsi:nfv:yang:etsi-nfv-descriptors'}, 'vnf:odu2': {'@module': 'etsi-nfv-descriptors', '@namespace': 'urn:etsi:nfv:yang:etsi-nfv-descriptors'}, 'ipv4': {'@module': 'etsi-nfv-descriptors', '@namespace': 'urn:etsi:nfv:yang:etsi-nfv-descriptors'}, 'etsi-nfv-descriptors:ipv4': {'@module': 'etsi-nfv-descriptors', '@namespace': 'urn:etsi:nfv:yang:etsi-nfv-descriptors'}, 'nfv:ipv4': {'@module': 'etsi-nfv-descriptors', '@namespace': 'urn:etsi:nfv:yang:etsi-nfv-descriptors'}, 'descriptors:ipv4': {'@module': 'etsi-nfv-descriptors', '@namespace': 'urn:etsi:nfv:yang:etsi-nfv-descriptors'}, 'vnf:ipv4': {'@module': 'etsi-nfv-descriptors', '@namespace': 'urn:etsi:nfv:yang:etsi-nfv-descriptors'}, 'ipv6': {'@module': 'etsi-nfv-descriptors', '@namespace': 'urn:etsi:nfv:yang:etsi-nfv-descriptors'}, 'etsi-nfv-descriptors:ipv6': {'@module': 'etsi-nfv-descriptors', '@namespace': 'urn:etsi:nfv:yang:etsi-nfv-descriptors'}, 'nfv:ipv6': {'@module': 'etsi-nfv-descriptors', '@namespace': 'urn:etsi:nfv:yang:etsi-nfv-descriptors'}, 'descriptors:ipv6': {'@module': 'etsi-nfv-descriptors', '@namespace': 'urn:etsi:nfv:yang:etsi-nfv-descriptors'}, 'vnf:ipv6': {'@module': 'etsi-nfv-descriptors', '@namespace': 'urn:etsi:nfv:yang:etsi-nfv-descriptors'}, 'pseudo-wire': {'@module': 'etsi-nfv-descriptors', '@namespace': 'urn:etsi:nfv:yang:etsi-nfv-descriptors'}, 'etsi-nfv-descriptors:pseudo-wire': {'@module': 'etsi-nfv-descriptors', '@namespace': 'urn:etsi:nfv:yang:etsi-nfv-descriptors'}, 'nfv:pseudo-wire': {'@module': 'etsi-nfv-descriptors', '@namespace': 'urn:etsi:nfv:yang:etsi-nfv-descriptors'}, 'descriptors:pseudo-wire': {'@module': 'etsi-nfv-descriptors', '@namespace': 'urn:etsi:nfv:yang:etsi-nfv-descriptors'}, 'vnf:pseudo-wire': {'@module': 'etsi-nfv-descriptors', '@namespace': 'urn:etsi:nfv:yang:etsi-nfv-descriptors'}},)), default=str("ethernet"), is_leaf=False, yang_name="layer-protocol", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='urn:etsi:nfv:yang:etsi-nfv-vnfd', defining_module='etsi-nfv-vnfd', yang_type='identityref', is_config=True)

13077

13078

13079 def _get_role(self):

13080 """

13081 Getter method for role, mapped from YANG variable /vnfd/ext_cpd/role (identityref)

13082

13083 YANG Description: Identifies the role of the connection points

13084 corresponding to the CPD in the context of the traffic

13085 flow patterns in the VNF, PNF or NS. For example an NS with

13086 a tree flow pattern within the NS will have legal cpRoles

13087 of ROOT and LEAF.

13088 """

13089 return self.__role

13090

13091 def _set_role(self, v, load=False):

13092 """

13093 Setter method for role, mapped from YANG variable /vnfd/ext_cpd/role (identityref)

13094 If this variable is read-only (config: false) in the

13095 source YANG file, then _set_role is considered as a private

13096 method. Backends looking to populate this variable should

13097 do so via calling thisObj._set_role() directly.

13098

13099 YANG Description: Identifies the role of the connection points

13100 corresponding to the CPD in the context of the traffic

13101 flow patterns in the VNF, PNF or NS. For example an NS with

13102 a tree flow pattern within the NS will have legal cpRoles

13103 of ROOT and LEAF.

13104 """

13105 if hasattr(v, "_utype"):

13106 v = v._utype(v)

13107 try:

13108 t = YANGDynClass(v,base=RestrictedClassType(base_type=str, restriction_type="dict_key", restriction_arg={'root': {'@module': 'etsi-nfv-descriptors', '@namespace': 'urn:etsi:nfv:yang:etsi-nfv-descriptors'}, 'etsi-nfv-descriptors:root': {'@module': 'etsi-nfv-descriptors', '@namespace': 'urn:etsi:nfv:yang:etsi-nfv-descriptors'}, 'nfv:root': {'@module': 'etsi-nfv-descriptors', '@namespace': 'urn:etsi:nfv:yang:etsi-nfv-descriptors'}, 'descriptors:root': {'@module': 'etsi-nfv-descriptors', '@namespace': 'urn:etsi:nfv:yang:etsi-nfv-descriptors'}, 'vnf:root': {'@module': 'etsi-nfv-descriptors', '@namespace': 'urn:etsi:nfv:yang:etsi-nfv-descriptors'}, 'leaf': {'@module': 'etsi-nfv-descriptors', '@namespace': 'urn:etsi:nfv:yang:etsi-nfv-descriptors'}, 'etsi-nfv-descriptors:leaf': {'@module': 'etsi-nfv-descriptors', '@namespace': 'urn:etsi:nfv:yang:etsi-nfv-descriptors'}, 'nfv:leaf': {'@module': 'etsi-nfv-descriptors', '@namespace': 'urn:etsi:nfv:yang:etsi-nfv-descriptors'}, 'descriptors:leaf': {'@module': 'etsi-nfv-descriptors', '@namespace': 'urn:etsi:nfv:yang:etsi-nfv-descriptors'}, 'vnf:leaf': {'@module': 'etsi-nfv-descriptors', '@namespace': 'urn:etsi:nfv:yang:etsi-nfv-descriptors'}},), is_leaf=True, yang_name="role", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='urn:etsi:nfv:yang:etsi-nfv-vnfd', defining_module='etsi-nfv-vnfd', yang_type='identityref', is_config=True)

13109 except (TypeError, ValueError):

13110 raise ValueError({

13111 'error-string': """role must be of a type compatible with identityref""",

13112 'defined-type': "etsi-nfv-vnfd:identityref",

13113 'generated-type': """YANGDynClass(base=RestrictedClassType(base_type=str, restriction_type="dict_key", restriction_arg={'root': {'@module': 'etsi-nfv-descriptors', '@namespace': 'urn:etsi:nfv:yang:etsi-nfv-descriptors'}, 'etsi-nfv-descriptors:root': {'@module': 'etsi-nfv-descriptors', '@namespace': 'urn:etsi:nfv:yang:etsi-nfv-descriptors'}, 'nfv:root': {'@module': 'etsi-nfv-descriptors', '@namespace': 'urn:etsi:nfv:yang:etsi-nfv-descriptors'}, 'descriptors:root': {'@module': 'etsi-nfv-descriptors', '@namespace': 'urn:etsi:nfv:yang:etsi-nfv-descriptors'}, 'vnf:root': {'@module': 'etsi-nfv-descriptors', '@namespace': 'urn:etsi:nfv:yang:etsi-nfv-descriptors'}, 'leaf': {'@module': 'etsi-nfv-descriptors', '@namespace': 'urn:etsi:nfv:yang:etsi-nfv-descriptors'}, 'etsi-nfv-descriptors:leaf': {'@module': 'etsi-nfv-descriptors', '@namespace': 'urn:etsi:nfv:yang:etsi-nfv-descriptors'}, 'nfv:leaf': {'@module': 'etsi-nfv-descriptors', '@namespace': 'urn:etsi:nfv:yang:etsi-nfv-descriptors'}, 'descriptors:leaf': {'@module': 'etsi-nfv-descriptors', '@namespace': 'urn:etsi:nfv:yang:etsi-nfv-descriptors'}, 'vnf:leaf': {'@module': 'etsi-nfv-descriptors', '@namespace': 'urn:etsi:nfv:yang:etsi-nfv-descriptors'}},), is_leaf=True, yang_name="role", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='urn:etsi:nfv:yang:etsi-nfv-vnfd', defining_module='etsi-nfv-vnfd', yang_type='identityref', is_config=True)""",

13114 })

13115

13116 self.__role = t

13117 if hasattr(self, '_set'):

13118 self._set()

13119

13120 def _unset_role(self):

13121 self.__role = YANGDynClass(base=RestrictedClassType(base_type=str, restriction_type="dict_key", restriction_arg={'root': {'@module': 'etsi-nfv-descriptors', '@namespace': 'urn:etsi:nfv:yang:etsi-nfv-descriptors'}, 'etsi-nfv-descriptors:root': {'@module': 'etsi-nfv-descriptors', '@namespace': 'urn:etsi:nfv:yang:etsi-nfv-descriptors'}, 'nfv:root': {'@module': 'etsi-nfv-descriptors', '@namespace': 'urn:etsi:nfv:yang:etsi-nfv-descriptors'}, 'descriptors:root': {'@module': 'etsi-nfv-descriptors', '@namespace': 'urn:etsi:nfv:yang:etsi-nfv-descriptors'}, 'vnf:root': {'@module': 'etsi-nfv-descriptors', '@namespace': 'urn:etsi:nfv:yang:etsi-nfv-descriptors'}, 'leaf': {'@module': 'etsi-nfv-descriptors', '@namespace': 'urn:etsi:nfv:yang:etsi-nfv-descriptors'}, 'etsi-nfv-descriptors:leaf': {'@module': 'etsi-nfv-descriptors', '@namespace': 'urn:etsi:nfv:yang:etsi-nfv-descriptors'}, 'nfv:leaf': {'@module': 'etsi-nfv-descriptors', '@namespace': 'urn:etsi:nfv:yang:etsi-nfv-descriptors'}, 'descriptors:leaf': {'@module': 'etsi-nfv-descriptors', '@namespace': 'urn:etsi:nfv:yang:etsi-nfv-descriptors'}, 'vnf:leaf': {'@module': 'etsi-nfv-descriptors', '@namespace': 'urn:etsi:nfv:yang:etsi-nfv-descriptors'}},), is_leaf=True, yang_name="role", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='urn:etsi:nfv:yang:etsi-nfv-vnfd', defining_module='etsi-nfv-vnfd', yang_type='identityref', is_config=True)

13122

13123

13124 def _get_description(self):

13125 """

13126 Getter method for description, mapped from YANG variable /vnfd/ext_cpd/description (string)

13127

13128 YANG Description: Provides human-readable information on the purpose of the

13129 connection point (e.g. connection point for control plane

13130 traffic).

13131 """

13132 return self.__description

13133

13134 def _set_description(self, v, load=False):

13135 """

13136 Setter method for description, mapped from YANG variable /vnfd/ext_cpd/description (string)

13137 If this variable is read-only (config: false) in the

13138 source YANG file, then _set_description is considered as a private

13139 method. Backends looking to populate this variable should

13140 do so via calling thisObj._set_description() directly.

13141

13142 YANG Description: Provides human-readable information on the purpose of the

13143 connection point (e.g. connection point for control plane

13144 traffic).

13145 """

13146 if hasattr(v, "_utype"):

13147 v = v._utype(v)

13148 try:

13149 t = YANGDynClass(v,base=str, is_leaf=True, yang_name="description", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='urn:etsi:nfv:yang:etsi-nfv-vnfd', defining_module='etsi-nfv-vnfd', yang_type='string', is_config=True)

13150 except (TypeError, ValueError):

13151 raise ValueError({

13152 'error-string': """description must be of a type compatible with string""",

13153 'defined-type': "string",

13154 'generated-type': """YANGDynClass(base=str, is_leaf=True, yang_name="description", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='urn:etsi:nfv:yang:etsi-nfv-vnfd', defining_module='etsi-nfv-vnfd', yang_type='string', is_config=True)""",

13155 })

13156

13157 self.__description = t

13158 if hasattr(self, '_set'):

13159 self._set()

13160

13161 def _unset_description(self):

13162 self.__description = YANGDynClass(base=str, is_leaf=True, yang_name="description", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='urn:etsi:nfv:yang:etsi-nfv-vnfd', defining_module='etsi-nfv-vnfd', yang_type='string', is_config=True)

13163

13164

13165 def _get_protocol(self):

13166 """

13167 Getter method for protocol, mapped from YANG variable /vnfd/ext_cpd/protocol (list)

13168

13169 YANG Description: Identifies the protocol layering information the CP uses for

13170 connectivity purposes and associated information. There shall

13171 be one cpProtocol for each layer protocol as indicated by the

13172 attribute layerProtocol. When a PnfExtCpd as defined in ETSI

13173 GS NFV-IFA 014 [i.8] is inherited from this Cpd, the

13174 cardinality is set to 0.

13175 """

13176 return self.__protocol

13177

13178 def _set_protocol(self, v, load=False):

13179 """

13180 Setter method for protocol, mapped from YANG variable /vnfd/ext_cpd/protocol (list)

13181 If this variable is read-only (config: false) in the

13182 source YANG file, then _set_protocol is considered as a private

13183 method. Backends looking to populate this variable should

13184 do so via calling thisObj._set_protocol() directly.

13185

13186 YANG Description: Identifies the protocol layering information the CP uses for

13187 connectivity purposes and associated information. There shall

13188 be one cpProtocol for each layer protocol as indicated by the

13189 attribute layerProtocol. When a PnfExtCpd as defined in ETSI

13190 GS NFV-IFA 014 [i.8] is inherited from this Cpd, the

13191 cardinality is set to 0.

13192 """

13193 if hasattr(v, "_utype"):

13194 v = v._utype(v)

13195 try:

13196 t = YANGDynClass(v,base=YANGListType("associated_layer_protocol",yc_protocol_etsi_nfv_vnfd__vnfd_ext_cpd_protocol, yang_name="protocol", parent=self, is_container='list', user_ordered=False, path_helper=self._path_helper, yang_keys='associated-layer-protocol', extensions=None), is_container='list', yang_name="protocol", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, extensions=None, namespace='urn:etsi:nfv:yang:etsi-nfv-vnfd', defining_module='etsi-nfv-vnfd', yang_type='list', is_config=True)

13197 except (TypeError, ValueError):

13198 raise ValueError({

13199 'error-string': """protocol must be of a type compatible with list""",

13200 'defined-type': "list",

13201 'generated-type': """YANGDynClass(base=YANGListType("associated_layer_protocol",yc_protocol_etsi_nfv_vnfd__vnfd_ext_cpd_protocol, yang_name="protocol", parent=self, is_container='list', user_ordered=False, path_helper=self._path_helper, yang_keys='associated-layer-protocol', extensions=None), is_container='list', yang_name="protocol", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, extensions=None, namespace='urn:etsi:nfv:yang:etsi-nfv-vnfd', defining_module='etsi-nfv-vnfd', yang_type='list', is_config=True)""",

13202 })

13203

13204 self.__protocol = t

13205 if hasattr(self, '_set'):

13206 self._set()

13207

13208 def _unset_protocol(self):

13209 self.__protocol = YANGDynClass(base=YANGListType("associated_layer_protocol",yc_protocol_etsi_nfv_vnfd__vnfd_ext_cpd_protocol, yang_name="protocol", parent=self, is_container='list', user_ordered=False, path_helper=self._path_helper, yang_keys='associated-layer-protocol', extensions=None), is_container='list', yang_name="protocol", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, extensions=None, namespace='urn:etsi:nfv:yang:etsi-nfv-vnfd', defining_module='etsi-nfv-vnfd', yang_type='list', is_config=True)

13210

13211

13212 def _get_trunk_mode(self):

13213 """

13214 Getter method for trunk_mode, mapped from YANG variable /vnfd/ext_cpd/trunk_mode (boolean)

13215

13216 YANG Description: Information about whether the Cp instantiated from this CPD

13217 is in Trunk mode (802.1Q or other). When operating in

13218'trunk mode', the Cp is capable of carrying traffic for

13219 several VLANs. A cardinality of 0 implies that trunkMode

13220 is not configured for the Cp i.e. It is equivalent to

13221 Boolean value 'false'.

13222 """

13223 return self.__trunk_mode

13224

13225 def _set_trunk_mode(self, v, load=False):

13226 """

13227 Setter method for trunk_mode, mapped from YANG variable /vnfd/ext_cpd/trunk_mode (boolean)

13228 If this variable is read-only (config: false) in the

13229 source YANG file, then _set_trunk_mode is considered as a private

13230 method. Backends looking to populate this variable should

13231 do so via calling thisObj._set_trunk_mode() directly.

13232

13233 YANG Description: Information about whether the Cp instantiated from this CPD

13234 is in Trunk mode (802.1Q or other). When operating in

13235'trunk mode', the Cp is capable of carrying traffic for

13236 several VLANs. A cardinality of 0 implies that trunkMode

13237 is not configured for the Cp i.e. It is equivalent to

13238 Boolean value 'false'.

13239 """

13240 if hasattr(v, "_utype"):

13241 v = v._utype(v)

13242 try:

13243 t = YANGDynClass(v,base=YANGBool, is_leaf=True, yang_name="trunk-mode", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='urn:etsi:nfv:yang:etsi-nfv-vnfd', defining_module='etsi-nfv-vnfd', yang_type='boolean', is_config=True)

13244 except (TypeError, ValueError):

13245 raise ValueError({

13246 'error-string': """trunk_mode must be of a type compatible with boolean""",

13247 'defined-type': "boolean",

13248 'generated-type': """YANGDynClass(base=YANGBool, is_leaf=True, yang_name="trunk-mode", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='urn:etsi:nfv:yang:etsi-nfv-vnfd', defining_module='etsi-nfv-vnfd', yang_type='boolean', is_config=True)""",

13249 })

13250

13251 self.__trunk_mode = t

13252 if hasattr(self, '_set'):

13253 self._set()

13254

13255 def _unset_trunk_mode(self):

13256 self.__trunk_mode = YANGDynClass(base=YANGBool, is_leaf=True, yang_name="trunk-mode", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='urn:etsi:nfv:yang:etsi-nfv-vnfd', defining_module='etsi-nfv-vnfd', yang_type='boolean', is_config=True)

13257

13258

13259 def _get_security_group_rule_id(self):

13260 """

13261 Getter method for security_group_rule_id, mapped from YANG variable /vnfd/ext_cpd/security_group_rule_id (leafref)

13262

13263 YANG Description: Reference of the security group rules bound to this

13264 CPD.

13265 """

13266 return self.__security_group_rule_id

13267

13268 def _set_security_group_rule_id(self, v, load=False):

13269 """

13270 Setter method for security_group_rule_id, mapped from YANG variable /vnfd/ext_cpd/security_group_rule_id (leafref)

13271 If this variable is read-only (config: false) in the

13272 source YANG file, then _set_security_group_rule_id is considered as a private

13273 method. Backends looking to populate this variable should

13274 do so via calling thisObj._set_security_group_rule_id() directly.

13275

13276 YANG Description: Reference of the security group rules bound to this

13277 CPD.

13278 """

13279 if hasattr(v, "_utype"):

13280 v = v._utype(v)

13281 try:

13282 t = YANGDynClass(v,base=str, is_leaf=True, yang_name="security-group-rule-id", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='urn:etsi:nfv:yang:etsi-nfv-vnfd', defining_module='etsi-nfv-vnfd', yang_type='leafref', is_config=True)

13283 except (TypeError, ValueError):

13284 raise ValueError({

13285 'error-string': """security_group_rule_id must be of a type compatible with leafref""",

13286 'defined-type': "leafref",

13287 'generated-type': """YANGDynClass(base=str, is_leaf=True, yang_name="security-group-rule-id", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='urn:etsi:nfv:yang:etsi-nfv-vnfd', defining_module='etsi-nfv-vnfd', yang_type='leafref', is_config=True)""",

13288 })

13289

13290 self.__security_group_rule_id = t

13291 if hasattr(self, '_set'):

13292 self._set()

13293

13294 def _unset_security_group_rule_id(self):

13295 self.__security_group_rule_id = YANGDynClass(base=str, is_leaf=True, yang_name="security-group-rule-id", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='urn:etsi:nfv:yang:etsi-nfv-vnfd', defining_module='etsi-nfv-vnfd', yang_type='leafref', is_config=True)

13296

13297

13298 def _get_port_security_enabled(self):

13299 """

13300 Getter method for port_security_enabled, mapped from YANG variable /vnfd/ext_cpd/port_security_enabled (boolean)

13301

13302 YANG Description: Enables the port security for the port.

13303 """

13304 return self.__port_security_enabled

13305

13306 def _set_port_security_enabled(self, v, load=False):

13307 """

13308 Setter method for port_security_enabled, mapped from YANG variable /vnfd/ext_cpd/port_security_enabled (boolean)

13309 If this variable is read-only (config: false) in the

13310 source YANG file, then _set_port_security_enabled is considered as a private

13311 method. Backends looking to populate this variable should

13312 do so via calling thisObj._set_port_security_enabled() directly.

13313

13314 YANG Description: Enables the port security for the port.

13315 """

13316 if hasattr(v, "_utype"):

13317 v = v._utype(v)

13318 try:

13319 t = YANGDynClass(v,base=YANGBool, default=YANGBool("true"), is_leaf=True, yang_name="port-security-enabled", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='urn:etsi:osm:yang:augments:various', defining_module='various', yang_type='boolean', is_config=True)

13320 except (TypeError, ValueError):

13321 raise ValueError({

13322 'error-string': """port_security_enabled must be of a type compatible with boolean""",

13323 'defined-type': "boolean",

13324 'generated-type': """YANGDynClass(base=YANGBool, default=YANGBool("true"), is_leaf=True, yang_name="port-security-enabled", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='urn:etsi:osm:yang:augments:various', defining_module='various', yang_type='boolean', is_config=True)""",

13325 })

13326

13327 self.__port_security_enabled = t

13328 if hasattr(self, '_set'):

13329 self._set()

13330

13331 def _unset_port_security_enabled(self):

13332 self.__port_security_enabled = YANGDynClass(base=YANGBool, default=YANGBool("true"), is_leaf=True, yang_name="port-security-enabled", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='urn:etsi:osm:yang:augments:various', defining_module='various', yang_type='boolean', is_config=True)

13333

13334

13335 def _get_port_security_disable_strategy(self):

13336 """

13337 Getter method for port_security_disable_strategy, mapped from YANG variable /vnfd/ext_cpd/port_security_disable_strategy (enumeration)

13338

13339 YANG Description: Strategy to disable port security, either Enables the port security for the port.

13340 full : disable port security in the whole port

13341 allow-address-pairs : allow address pairs for virtual IP (any virtual IP can be configured)

13342 """

13343 return self.__port_security_disable_strategy

13344

13345 def _set_port_security_disable_strategy(self, v, load=False):

13346 """

13347 Setter method for port_security_disable_strategy, mapped from YANG variable /vnfd/ext_cpd/port_security_disable_strategy (enumeration)

13348 If this variable is read-only (config: false) in the

13349 source YANG file, then _set_port_security_disable_strategy is considered as a private

13350 method. Backends looking to populate this variable should

13351 do so via calling thisObj._set_port_security_disable_strategy() directly.

13352

13353 YANG Description: Strategy to disable port security, either Enables the port security for the port.

13354 full : disable port security in the whole port

13355 allow-address-pairs : allow address pairs for virtual IP (any virtual IP can be configured)

13356 """

13357 if hasattr(v, "_utype"):

13358 v = v._utype(v)

13359 try:

13360 t = YANGDynClass(v,base=RestrictedClassType(base_type=str, restriction_type="dict_key", restriction_arg={'full': {}, 'allow-address-pairs': {}},), default=str("full"), is_leaf=True, yang_name="port-security-disable-strategy", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='urn:etsi:osm:yang:augments:various', defining_module='various', yang_type='enumeration', is_config=True)

13361 except (TypeError, ValueError):

13362 raise ValueError({

13363 'error-string': """port_security_disable_strategy must be of a type compatible with enumeration""",

13364 'defined-type': "various:enumeration",

13365 'generated-type': """YANGDynClass(base=RestrictedClassType(base_type=str, restriction_type="dict_key", restriction_arg={'full': {}, 'allow-address-pairs': {}},), default=str("full"), is_leaf=True, yang_name="port-security-disable-strategy", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='urn:etsi:osm:yang:augments:various', defining_module='various', yang_type='enumeration', is_config=True)""",

13366 })

13367

13368 self.__port_security_disable_strategy = t

13369 if hasattr(self, '_set'):

13370 self._set()

13371

13372 def _unset_port_security_disable_strategy(self):

13373 self.__port_security_disable_strategy = YANGDynClass(base=RestrictedClassType(base_type=str, restriction_type="dict_key", restriction_arg={'full': {}, 'allow-address-pairs': {}},), default=str("full"), is_leaf=True, yang_name="port-security-disable-strategy", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='urn:etsi:osm:yang:augments:various', defining_module='various', yang_type='enumeration', is_config=True)

13374

13375 int_virtual_link_desc = __builtin__.property(_get_int_virtual_link_desc, _set_int_virtual_link_desc)

13376 int_cpd = __builtin__.property(_get_int_cpd, _set_int_cpd)

13377 k8s_cluster_net = __builtin__.property(_get_k8s_cluster_net, _set_k8s_cluster_net)

13378 virtual_network_interface_requirement = __builtin__.property(_get_virtual_network_interface_requirement, _set_virtual_network_interface_requirement)

13379 nicio_requirements = __builtin__.property(_get_nicio_requirements, _set_nicio_requirements)

13380 id = __builtin__.property(_get_id, _set_id)

13381 layer_protocol = __builtin__.property(_get_layer_protocol, _set_layer_protocol)

13382 role = __builtin__.property(_get_role, _set_role)

13383 description = __builtin__.property(_get_description, _set_description)

13384 protocol = __builtin__.property(_get_protocol, _set_protocol)

13385 trunk_mode = __builtin__.property(_get_trunk_mode, _set_trunk_mode)

13386 security_group_rule_id = __builtin__.property(_get_security_group_rule_id, _set_security_group_rule_id)

13387 port_security_enabled = __builtin__.property(_get_port_security_enabled, _set_port_security_enabled)

13388 port_security_disable_strategy = __builtin__.property(_get_port_security_disable_strategy, _set_port_security_disable_strategy)

13389

13390 __choices__ = {'cp-connection': {'int-virtual-link-desc': ['int_virtual_link_desc'], 'int-cpd': ['int_cpd'], 'k8s-cluster-net': ['k8s_cluster_net']}}

13391 _pyangbind_elements = OrderedDict([('int_virtual_link_desc', int_virtual_link_desc), ('int_cpd', int_cpd), ('k8s_cluster_net', k8s_cluster_net), ('virtual_network_interface_requirement', virtual_network_interface_requirement), ('nicio_requirements', nicio_requirements), ('id', id), ('layer_protocol', layer_protocol), ('role', role), ('description', description), ('protocol', protocol), ('trunk_mode', trunk_mode), ('security_group_rule_id', security_group_rule_id), ('port_security_enabled', port_security_enabled), ('port_security_disable_strategy', port_security_disable_strategy), ])

13392

13393

13394 class yc_local_affinity_or_anti_affinity_rule_etsi_nfv_vnfd__vnfd_df_vdu_profile_local_affinity_or_anti_affinity_rule(PybindBase):

13395 """

13396 This class was auto-generated by the PythonClass plugin for PYANG

13397 from YANG module etsi-nfv-vnfd - based on the path /vnfd/df/vdu-profile/local-affinity-or-anti-affinity-rule. Each member element of

13398 the container is represented as a class variable - with a specific

13399 YANG type.

13400 """

13401 __slots__ = ('_path_helper', '_extmethods', '__affinity_type','__affinity_scope',)

13402

13403 _yang_name = 'local-affinity-or-anti-affinity-rule'

13404 _yang_namespace = 'urn:etsi:nfv:yang:etsi-nfv-vnfd'

13405

13406 _pybind_generated_by = 'container'

13407

13408 def __init__(self, *args, **kwargs):

13409

13410 self._path_helper = False

13411

13412 self._extmethods = False

13413 self.__affinity_type = YANGDynClass(base=RestrictedClassType(base_type=str, restriction_type="dict_key", restriction_arg={'affinity': {}, 'anti-affinity': {}},), is_leaf=True, yang_name="affinity-type", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, is_keyval=True, namespace='urn:etsi:nfv:yang:etsi-nfv-vnfd', defining_module='etsi-nfv-vnfd', yang_type='affinity-type', is_config=True)

13414 self.__affinity_scope = YANGDynClass(base=RestrictedClassType(base_type=str, restriction_type="dict_key", restriction_arg={'nfvi-node': {}, 'zone-group': {}, 'zone': {}, 'nfvi-pop': {}},), is_leaf=True, yang_name="affinity-scope", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, is_keyval=True, namespace='urn:etsi:nfv:yang:etsi-nfv-vnfd', defining_module='etsi-nfv-vnfd', yang_type='affinity-scope', is_config=True)

13415

13416 load = kwargs.pop("load", None)

13417 if args:

13418 if len(args) > 1:

13419 raise TypeError("cannot create a YANG container with >1 argument")

13420 all_attr = True

13421 for e in self._pyangbind_elements:

13422 if not hasattr(args[0], e):

13423 all_attr = False

13424 break

13425 if not all_attr:

13426 raise ValueError("Supplied object did not have the correct attributes")

13427 for e in self._pyangbind_elements:

13428 nobj = getattr(args[0], e)

13429 if nobj._changed() is False:

13430 continue

13431 setmethod = getattr(self, "_set_%s" % e)

13432 if load is None:

13433 setmethod(getattr(args[0], e))

13434 else:

13435 setmethod(getattr(args[0], e), load=load)

13436

13437 def _path(self):

13438 if hasattr(self, "_parent"):

13439 return self._parent._path()+[self._yang_name]

13440 else:

13441 return ['vnfd', 'df', 'vdu-profile', 'local-affinity-or-anti-affinity-rule']

13442

13443 def _get_affinity_type(self):

13444 """

13445 Getter method for affinity_type, mapped from YANG variable /vnfd/df/vdu_profile/local_affinity_or_anti_affinity_rule/affinity_type (affinity-type)

13446

13447 YANG Description: Specifies whether the rule is an affinity rule or an

13448 anti-affinity rule.

13449 """

13450 return self.__affinity_type

13451

13452 def _set_affinity_type(self, v, load=False):

13453 """

13454 Setter method for affinity_type, mapped from YANG variable /vnfd/df/vdu_profile/local_affinity_or_anti_affinity_rule/affinity_type (affinity-type)

13455 If this variable is read-only (config: false) in the

13456 source YANG file, then _set_affinity_type is considered as a private

13457 method. Backends looking to populate this variable should

13458 do so via calling thisObj._set_affinity_type() directly.

13459

13460 YANG Description: Specifies whether the rule is an affinity rule or an

13461 anti-affinity rule.

13462 """

13463 parent = getattr(self, "_parent", None)

13464 if parent is not None and load is False:

13465 raise AttributeError("Cannot set keys directly when" +

13466 " within an instantiated list")

13467

13468 if hasattr(v, "_utype"):

13469 v = v._utype(v)

13470 try:

13471 t = YANGDynClass(v,base=RestrictedClassType(base_type=str, restriction_type="dict_key", restriction_arg={'affinity': {}, 'anti-affinity': {}},), is_leaf=True, yang_name="affinity-type", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, is_keyval=True, namespace='urn:etsi:nfv:yang:etsi-nfv-vnfd', defining_module='etsi-nfv-vnfd', yang_type='affinity-type', is_config=True)

13472 except (TypeError, ValueError):

13473 raise ValueError({

13474 'error-string': """affinity_type must be of a type compatible with affinity-type""",

13475 'defined-type': "etsi-nfv-vnfd:affinity-type",

13476 'generated-type': """YANGDynClass(base=RestrictedClassType(base_type=str, restriction_type="dict_key", restriction_arg={'affinity': {}, 'anti-affinity': {}},), is_leaf=True, yang_name="affinity-type", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, is_keyval=True, namespace='urn:etsi:nfv:yang:etsi-nfv-vnfd', defining_module='etsi-nfv-vnfd', yang_type='affinity-type', is_config=True)""",

13477 })

13478

13479 self.__affinity_type = t

13480 if hasattr(self, '_set'):

13481 self._set()

13482

13483 def _unset_affinity_type(self):

13484 self.__affinity_type = YANGDynClass(base=RestrictedClassType(base_type=str, restriction_type="dict_key", restriction_arg={'affinity': {}, 'anti-affinity': {}},), is_leaf=True, yang_name="affinity-type", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, is_keyval=True, namespace='urn:etsi:nfv:yang:etsi-nfv-vnfd', defining_module='etsi-nfv-vnfd', yang_type='affinity-type', is_config=True)

13485

13486

13487 def _get_affinity_scope(self):

13488 """

13489 Getter method for affinity_scope, mapped from YANG variable /vnfd/df/vdu_profile/local_affinity_or_anti_affinity_rule/affinity_scope (affinity-scope)

13490

13491 YANG Description: Specifies the scope of the rule, possible values are

13492'NFVI-PoP', 'Zone', 'ZoneGroup', 'NFVI-node'.

13493 """

13494 return self.__affinity_scope

13495

13496 def _set_affinity_scope(self, v, load=False):

13497 """

13498 Setter method for affinity_scope, mapped from YANG variable /vnfd/df/vdu_profile/local_affinity_or_anti_affinity_rule/affinity_scope (affinity-scope)

13499 If this variable is read-only (config: false) in the

13500 source YANG file, then _set_affinity_scope is considered as a private

13501 method. Backends looking to populate this variable should

13502 do so via calling thisObj._set_affinity_scope() directly.

13503

13504 YANG Description: Specifies the scope of the rule, possible values are

13505'NFVI-PoP', 'Zone', 'ZoneGroup', 'NFVI-node'.

13506 """

13507 parent = getattr(self, "_parent", None)

13508 if parent is not None and load is False:

13509 raise AttributeError("Cannot set keys directly when" +

13510 " within an instantiated list")

13511

13512 if hasattr(v, "_utype"):

13513 v = v._utype(v)

13514 try:

13515 t = YANGDynClass(v,base=RestrictedClassType(base_type=str, restriction_type="dict_key", restriction_arg={'nfvi-node': {}, 'zone-group': {}, 'zone': {}, 'nfvi-pop': {}},), is_leaf=True, yang_name="affinity-scope", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, is_keyval=True, namespace='urn:etsi:nfv:yang:etsi-nfv-vnfd', defining_module='etsi-nfv-vnfd', yang_type='affinity-scope', is_config=True)

13516 except (TypeError, ValueError):

13517 raise ValueError({

13518 'error-string': """affinity_scope must be of a type compatible with affinity-scope""",

13519 'defined-type': "etsi-nfv-vnfd:affinity-scope",

13520 'generated-type': """YANGDynClass(base=RestrictedClassType(base_type=str, restriction_type="dict_key", restriction_arg={'nfvi-node': {}, 'zone-group': {}, 'zone': {}, 'nfvi-pop': {}},), is_leaf=True, yang_name="affinity-scope", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, is_keyval=True, namespace='urn:etsi:nfv:yang:etsi-nfv-vnfd', defining_module='etsi-nfv-vnfd', yang_type='affinity-scope', is_config=True)""",

13521 })

13522

13523 self.__affinity_scope = t

13524 if hasattr(self, '_set'):

13525 self._set()

13526

13527 def _unset_affinity_scope(self):

13528 self.__affinity_scope = YANGDynClass(base=RestrictedClassType(base_type=str, restriction_type="dict_key", restriction_arg={'nfvi-node': {}, 'zone-group': {}, 'zone': {}, 'nfvi-pop': {}},), is_leaf=True, yang_name="affinity-scope", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, is_keyval=True, namespace='urn:etsi:nfv:yang:etsi-nfv-vnfd', defining_module='etsi-nfv-vnfd', yang_type='affinity-scope', is_config=True)

13529

13530 affinity_type = __builtin__.property(_get_affinity_type, _set_affinity_type)

13531 affinity_scope = __builtin__.property(_get_affinity_scope, _set_affinity_scope)

13532

13533

13534 _pyangbind_elements = OrderedDict([('affinity_type', affinity_type), ('affinity_scope', affinity_scope), ])

13535

13536

13537 class yc_affinity_or_anti_affinity_group_etsi_nfv_vnfd__vnfd_df_vdu_profile_affinity_or_anti_affinity_group(PybindBase):

13538 """

13539 This class was auto-generated by the PythonClass plugin for PYANG

13540 from YANG module etsi-nfv-vnfd - based on the path /vnfd/df/vdu-profile/affinity-or-anti-affinity-group. Each member element of

13541 the container is represented as a class variable - with a specific

13542 YANG type.

13543

13544 YANG Description: Identifier(s) of the affinity or anti-affinity

13545 group(s) the VDU belongs to.

13546 """

13547 __slots__ = ('_path_helper', '_extmethods', '__id',)

13548

13549 _yang_name = 'affinity-or-anti-affinity-group'

13550 _yang_namespace = 'urn:etsi:nfv:yang:etsi-nfv-vnfd'

13551

13552 _pybind_generated_by = 'container'

13553

13554 def __init__(self, *args, **kwargs):

13555

13556 self._path_helper = False

13557

13558 self._extmethods = False

13559 self.__id = YANGDynClass(base=str, is_leaf=True, yang_name="id", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, is_keyval=True, namespace='urn:etsi:nfv:yang:etsi-nfv-vnfd', defining_module='etsi-nfv-vnfd', yang_type='leafref', is_config=True)

13560

13561 load = kwargs.pop("load", None)

13562 if args:

13563 if len(args) > 1:

13564 raise TypeError("cannot create a YANG container with >1 argument")

13565 all_attr = True

13566 for e in self._pyangbind_elements:

13567 if not hasattr(args[0], e):

13568 all_attr = False

13569 break

13570 if not all_attr:

13571 raise ValueError("Supplied object did not have the correct attributes")

13572 for e in self._pyangbind_elements:

13573 nobj = getattr(args[0], e)

13574 if nobj._changed() is False:

13575 continue

13576 setmethod = getattr(self, "_set_%s" % e)

13577 if load is None:

13578 setmethod(getattr(args[0], e))

13579 else:

13580 setmethod(getattr(args[0], e), load=load)

13581

13582 def _path(self):

13583 if hasattr(self, "_parent"):

13584 return self._parent._path()+[self._yang_name]

13585 else:

13586 return ['vnfd', 'df', 'vdu-profile', 'affinity-or-anti-affinity-group']

13587

13588 def _get_id(self):

13589 """

13590 Getter method for id, mapped from YANG variable /vnfd/df/vdu_profile/affinity_or_anti_affinity_group/id (leafref)

13591

13592 YANG Description: Identifies an affinity or anti-affinity group to

13593 which the affinity or anti-affinity rule applies.

13594 """

13595 return self.__id

13596

13597 def _set_id(self, v, load=False):

13598 """

13599 Setter method for id, mapped from YANG variable /vnfd/df/vdu_profile/affinity_or_anti_affinity_group/id (leafref)

13600 If this variable is read-only (config: false) in the

13601 source YANG file, then _set_id is considered as a private

13602 method. Backends looking to populate this variable should

13603 do so via calling thisObj._set_id() directly.

13604

13605 YANG Description: Identifies an affinity or anti-affinity group to

13606 which the affinity or anti-affinity rule applies.

13607 """

13608 parent = getattr(self, "_parent", None)

13609 if parent is not None and load is False:

13610 raise AttributeError("Cannot set keys directly when" +

13611 " within an instantiated list")

13612

13613 if hasattr(v, "_utype"):

13614 v = v._utype(v)

13615 try:

13616 t = YANGDynClass(v,base=str, is_leaf=True, yang_name="id", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, is_keyval=True, namespace='urn:etsi:nfv:yang:etsi-nfv-vnfd', defining_module='etsi-nfv-vnfd', yang_type='leafref', is_config=True)

13617 except (TypeError, ValueError):

13618 raise ValueError({

13619 'error-string': """id must be of a type compatible with leafref""",

13620 'defined-type': "leafref",

13621 'generated-type': """YANGDynClass(base=str, is_leaf=True, yang_name="id", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, is_keyval=True, namespace='urn:etsi:nfv:yang:etsi-nfv-vnfd', defining_module='etsi-nfv-vnfd', yang_type='leafref', is_config=True)""",

13622 })

13623

13624 self.__id = t

13625 if hasattr(self, '_set'):

13626 self._set()

13627

13628 def _unset_id(self):

13629 self.__id = YANGDynClass(base=str, is_leaf=True, yang_name="id", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, is_keyval=True, namespace='urn:etsi:nfv:yang:etsi-nfv-vnfd', defining_module='etsi-nfv-vnfd', yang_type='leafref', is_config=True)

13630

13631 id = __builtin__.property(_get_id, _set_id)

13632

13633

13634 _pyangbind_elements = OrderedDict([('id', id), ])

13635

13636

13637 class yc_vdu_profile_etsi_nfv_vnfd__vnfd_df_vdu_profile(PybindBase):

13638 """

13639 This class was auto-generated by the PythonClass plugin for PYANG

13640 from YANG module etsi-nfv-vnfd - based on the path /vnfd/df/vdu-profile. Each member element of

13641 the container is represented as a class variable - with a specific

13642 YANG type.

13643

13644 YANG Description: The Vduprofile describes additional instantiation data for

13645 a given VDU used in a deployment flavour.

13646 """

13647 __slots__ = ('_path_helper', '_extmethods', '__id','__min_number_of_instances','__max_number_of_instances','__local_affinity_or_anti_affinity_rule','__affinity_or_anti_affinity_group',)

13648

13649 _yang_name = 'vdu-profile'

13650 _yang_namespace = 'urn:etsi:nfv:yang:etsi-nfv-vnfd'

13651

13652 _pybind_generated_by = 'container'

13653

13654 def __init__(self, *args, **kwargs):

13655

13656 self._path_helper = False

13657

13658 self._extmethods = False

13659 self.__id = YANGDynClass(base=str, is_leaf=True, yang_name="id", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, is_keyval=True, namespace='urn:etsi:nfv:yang:etsi-nfv-vnfd', defining_module='etsi-nfv-vnfd', yang_type='leafref', is_config=True)

13660 self.__min_number_of_instances = YANGDynClass(base=RestrictedClassType(base_type=int, restriction_dict={'range': ['0..65535']},int_size=16), default=RestrictedClassType(base_type=int, restriction_dict={'range': ['0..65535']},int_size=16)(1), is_leaf=True, yang_name="min-number-of-instances", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='urn:etsi:nfv:yang:etsi-nfv-vnfd', defining_module='etsi-nfv-vnfd', yang_type='uint16', is_config=True)

13661 self.__max_number_of_instances = YANGDynClass(base=RestrictedClassType(base_type=int, restriction_dict={'range': ['0..65535']},int_size=16), default=RestrictedClassType(base_type=int, restriction_dict={'range': ['0..65535']},int_size=16)(1), is_leaf=True, yang_name="max-number-of-instances", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='urn:etsi:nfv:yang:etsi-nfv-vnfd', defining_module='etsi-nfv-vnfd', yang_type='uint16', is_config=True)

13662 self.__local_affinity_or_anti_affinity_rule = YANGDynClass(base=YANGListType("affinity_type affinity_scope",yc_local_affinity_or_anti_affinity_rule_etsi_nfv_vnfd__vnfd_df_vdu_profile_local_affinity_or_anti_affinity_rule, yang_name="local-affinity-or-anti-affinity-rule", parent=self, is_container='list', user_ordered=False, path_helper=self._path_helper, yang_keys='affinity-type affinity-scope', extensions=None), is_container='list', yang_name="local-affinity-or-anti-affinity-rule", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, extensions=None, namespace='urn:etsi:nfv:yang:etsi-nfv-vnfd', defining_module='etsi-nfv-vnfd', yang_type='list', is_config=True)

13663 self.__affinity_or_anti_affinity_group = YANGDynClass(base=YANGListType("id",yc_affinity_or_anti_affinity_group_etsi_nfv_vnfd__vnfd_df_vdu_profile_affinity_or_anti_affinity_group, yang_name="affinity-or-anti-affinity-group", parent=self, is_container='list', user_ordered=False, path_helper=self._path_helper, yang_keys='id', extensions=None), is_container='list', yang_name="affinity-or-anti-affinity-group", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, extensions=None, namespace='urn:etsi:nfv:yang:etsi-nfv-vnfd', defining_module='etsi-nfv-vnfd', yang_type='list', is_config=True)

13664

13665 load = kwargs.pop("load", None)

13666 if args:

13667 if len(args) > 1:

13668 raise TypeError("cannot create a YANG container with >1 argument")

13669 all_attr = True

13670 for e in self._pyangbind_elements:

13671 if not hasattr(args[0], e):

13672 all_attr = False

13673 break

13674 if not all_attr:

13675 raise ValueError("Supplied object did not have the correct attributes")

13676 for e in self._pyangbind_elements:

13677 nobj = getattr(args[0], e)

13678 if nobj._changed() is False:

13679 continue

13680 setmethod = getattr(self, "_set_%s" % e)

13681 if load is None:

13682 setmethod(getattr(args[0], e))

13683 else:

13684 setmethod(getattr(args[0], e), load=load)

13685

13686 def _path(self):

13687 if hasattr(self, "_parent"):

13688 return self._parent._path()+[self._yang_name]

13689 else:

13690 return ['vnfd', 'df', 'vdu-profile']

13691

13692 def _get_id(self):

13693 """

13694 Getter method for id, mapped from YANG variable /vnfd/df/vdu_profile/id (leafref)

13695 """

13696 return self.__id

13697

13698 def _set_id(self, v, load=False):

13699 """

13700 Setter method for id, mapped from YANG variable /vnfd/df/vdu_profile/id (leafref)

13701 If this variable is read-only (config: false) in the

13702 source YANG file, then _set_id is considered as a private

13703 method. Backends looking to populate this variable should

13704 do so via calling thisObj._set_id() directly.

13705 """

13706 parent = getattr(self, "_parent", None)

13707 if parent is not None and load is False:

13708 raise AttributeError("Cannot set keys directly when" +

13709 " within an instantiated list")

13710

13711 if hasattr(v, "_utype"):

13712 v = v._utype(v)

13713 try:

13714 t = YANGDynClass(v,base=str, is_leaf=True, yang_name="id", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, is_keyval=True, namespace='urn:etsi:nfv:yang:etsi-nfv-vnfd', defining_module='etsi-nfv-vnfd', yang_type='leafref', is_config=True)

13715 except (TypeError, ValueError):

13716 raise ValueError({

13717 'error-string': """id must be of a type compatible with leafref""",

13718 'defined-type': "leafref",

13719 'generated-type': """YANGDynClass(base=str, is_leaf=True, yang_name="id", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, is_keyval=True, namespace='urn:etsi:nfv:yang:etsi-nfv-vnfd', defining_module='etsi-nfv-vnfd', yang_type='leafref', is_config=True)""",

13720 })

13721

13722 self.__id = t

13723 if hasattr(self, '_set'):

13724 self._set()

13725

13726 def _unset_id(self):

13727 self.__id = YANGDynClass(base=str, is_leaf=True, yang_name="id", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, is_keyval=True, namespace='urn:etsi:nfv:yang:etsi-nfv-vnfd', defining_module='etsi-nfv-vnfd', yang_type='leafref', is_config=True)

13728

13729

13730 def _get_min_number_of_instances(self):

13731 """

13732 Getter method for min_number_of_instances, mapped from YANG variable /vnfd/df/vdu_profile/min_number_of_instances (uint16)

13733

13734 YANG Description: Minimum number of instances of the VNFC based on this

13735 VDU that is permitted to exist for this flavour.

13736 """

13737 return self.__min_number_of_instances

13738

13739 def _set_min_number_of_instances(self, v, load=False):

13740 """

13741 Setter method for min_number_of_instances, mapped from YANG variable /vnfd/df/vdu_profile/min_number_of_instances (uint16)

13742 If this variable is read-only (config: false) in the

13743 source YANG file, then _set_min_number_of_instances is considered as a private

13744 method. Backends looking to populate this variable should

13745 do so via calling thisObj._set_min_number_of_instances() directly.

13746

13747 YANG Description: Minimum number of instances of the VNFC based on this

13748 VDU that is permitted to exist for this flavour.

13749 """

13750 if hasattr(v, "_utype"):

13751 v = v._utype(v)

13752 try:

13753 t = YANGDynClass(v,base=RestrictedClassType(base_type=int, restriction_dict={'range': ['0..65535']},int_size=16), default=RestrictedClassType(base_type=int, restriction_dict={'range': ['0..65535']},int_size=16)(1), is_leaf=True, yang_name="min-number-of-instances", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='urn:etsi:nfv:yang:etsi-nfv-vnfd', defining_module='etsi-nfv-vnfd', yang_type='uint16', is_config=True)

13754 except (TypeError, ValueError):

13755 raise ValueError({

13756 'error-string': """min_number_of_instances must be of a type compatible with uint16""",

13757 'defined-type': "uint16",

13758 'generated-type': """YANGDynClass(base=RestrictedClassType(base_type=int, restriction_dict={'range': ['0..65535']},int_size=16), default=RestrictedClassType(base_type=int, restriction_dict={'range': ['0..65535']},int_size=16)(1), is_leaf=True, yang_name="min-number-of-instances", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='urn:etsi:nfv:yang:etsi-nfv-vnfd', defining_module='etsi-nfv-vnfd', yang_type='uint16', is_config=True)""",

13759 })

13760

13761 self.__min_number_of_instances = t

13762 if hasattr(self, '_set'):

13763 self._set()

13764

13765 def _unset_min_number_of_instances(self):

13766 self.__min_number_of_instances = YANGDynClass(base=RestrictedClassType(base_type=int, restriction_dict={'range': ['0..65535']},int_size=16), default=RestrictedClassType(base_type=int, restriction_dict={'range': ['0..65535']},int_size=16)(1), is_leaf=True, yang_name="min-number-of-instances", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='urn:etsi:nfv:yang:etsi-nfv-vnfd', defining_module='etsi-nfv-vnfd', yang_type='uint16', is_config=True)

13767

13768

13769 def _get_max_number_of_instances(self):

13770 """

13771 Getter method for max_number_of_instances, mapped from YANG variable /vnfd/df/vdu_profile/max_number_of_instances (uint16)

13772 """

13773 return self.__max_number_of_instances

13774

13775 def _set_max_number_of_instances(self, v, load=False):

13776 """

13777 Setter method for max_number_of_instances, mapped from YANG variable /vnfd/df/vdu_profile/max_number_of_instances (uint16)

13778 If this variable is read-only (config: false) in the

13779 source YANG file, then _set_max_number_of_instances is considered as a private

13780 method. Backends looking to populate this variable should

13781 do so via calling thisObj._set_max_number_of_instances() directly.

13782 """

13783 if hasattr(v, "_utype"):

13784 v = v._utype(v)

13785 try:

13786 t = YANGDynClass(v,base=RestrictedClassType(base_type=int, restriction_dict={'range': ['0..65535']},int_size=16), default=RestrictedClassType(base_type=int, restriction_dict={'range': ['0..65535']},int_size=16)(1), is_leaf=True, yang_name="max-number-of-instances", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='urn:etsi:nfv:yang:etsi-nfv-vnfd', defining_module='etsi-nfv-vnfd', yang_type='uint16', is_config=True)

13787 except (TypeError, ValueError):

13788 raise ValueError({

13789 'error-string': """max_number_of_instances must be of a type compatible with uint16""",

13790 'defined-type': "uint16",

13791 'generated-type': """YANGDynClass(base=RestrictedClassType(base_type=int, restriction_dict={'range': ['0..65535']},int_size=16), default=RestrictedClassType(base_type=int, restriction_dict={'range': ['0..65535']},int_size=16)(1), is_leaf=True, yang_name="max-number-of-instances", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='urn:etsi:nfv:yang:etsi-nfv-vnfd', defining_module='etsi-nfv-vnfd', yang_type='uint16', is_config=True)""",

13792 })

13793

13794 self.__max_number_of_instances = t

13795 if hasattr(self, '_set'):

13796 self._set()

13797

13798 def _unset_max_number_of_instances(self):

13799 self.__max_number_of_instances = YANGDynClass(base=RestrictedClassType(base_type=int, restriction_dict={'range': ['0..65535']},int_size=16), default=RestrictedClassType(base_type=int, restriction_dict={'range': ['0..65535']},int_size=16)(1), is_leaf=True, yang_name="max-number-of-instances", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='urn:etsi:nfv:yang:etsi-nfv-vnfd', defining_module='etsi-nfv-vnfd', yang_type='uint16', is_config=True)

13800

13801

13802 def _get_local_affinity_or_anti_affinity_rule(self):

13803 """

13804 Getter method for local_affinity_or_anti_affinity_rule, mapped from YANG variable /vnfd/df/vdu_profile/local_affinity_or_anti_affinity_rule (list)

13805 """

13806 return self.__local_affinity_or_anti_affinity_rule

13807

13808 def _set_local_affinity_or_anti_affinity_rule(self, v, load=False):

13809 """

13810 Setter method for local_affinity_or_anti_affinity_rule, mapped from YANG variable /vnfd/df/vdu_profile/local_affinity_or_anti_affinity_rule (list)

13811 If this variable is read-only (config: false) in the

13812 source YANG file, then _set_local_affinity_or_anti_affinity_rule is considered as a private

13813 method. Backends looking to populate this variable should

13814 do so via calling thisObj._set_local_affinity_or_anti_affinity_rule() directly.

13815 """

13816 if hasattr(v, "_utype"):

13817 v = v._utype(v)

13818 try:

13819 t = YANGDynClass(v,base=YANGListType("affinity_type affinity_scope",yc_local_affinity_or_anti_affinity_rule_etsi_nfv_vnfd__vnfd_df_vdu_profile_local_affinity_or_anti_affinity_rule, yang_name="local-affinity-or-anti-affinity-rule", parent=self, is_container='list', user_ordered=False, path_helper=self._path_helper, yang_keys='affinity-type affinity-scope', extensions=None), is_container='list', yang_name="local-affinity-or-anti-affinity-rule", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, extensions=None, namespace='urn:etsi:nfv:yang:etsi-nfv-vnfd', defining_module='etsi-nfv-vnfd', yang_type='list', is_config=True)

13820 except (TypeError, ValueError):

13821 raise ValueError({

13822 'error-string': """local_affinity_or_anti_affinity_rule must be of a type compatible with list""",

13823 'defined-type': "list",

13824 'generated-type': """YANGDynClass(base=YANGListType("affinity_type affinity_scope",yc_local_affinity_or_anti_affinity_rule_etsi_nfv_vnfd__vnfd_df_vdu_profile_local_affinity_or_anti_affinity_rule, yang_name="local-affinity-or-anti-affinity-rule", parent=self, is_container='list', user_ordered=False, path_helper=self._path_helper, yang_keys='affinity-type affinity-scope', extensions=None), is_container='list', yang_name="local-affinity-or-anti-affinity-rule", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, extensions=None, namespace='urn:etsi:nfv:yang:etsi-nfv-vnfd', defining_module='etsi-nfv-vnfd', yang_type='list', is_config=True)""",

13825 })

13826

13827 self.__local_affinity_or_anti_affinity_rule = t

13828 if hasattr(self, '_set'):

13829 self._set()

13830

13831 def _unset_local_affinity_or_anti_affinity_rule(self):

13832 self.__local_affinity_or_anti_affinity_rule = YANGDynClass(base=YANGListType("affinity_type affinity_scope",yc_local_affinity_or_anti_affinity_rule_etsi_nfv_vnfd__vnfd_df_vdu_profile_local_affinity_or_anti_affinity_rule, yang_name="local-affinity-or-anti-affinity-rule", parent=self, is_container='list', user_ordered=False, path_helper=self._path_helper, yang_keys='affinity-type affinity-scope', extensions=None), is_container='list', yang_name="local-affinity-or-anti-affinity-rule", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, extensions=None, namespace='urn:etsi:nfv:yang:etsi-nfv-vnfd', defining_module='etsi-nfv-vnfd', yang_type='list', is_config=True)

13833

13834

13835 def _get_affinity_or_anti_affinity_group(self):

13836 """

13837 Getter method for affinity_or_anti_affinity_group, mapped from YANG variable /vnfd/df/vdu_profile/affinity_or_anti_affinity_group (list)

13838

13839 YANG Description: Identifier(s) of the affinity or anti-affinity

13840 group(s) the VDU belongs to.

13841 """

13842 return self.__affinity_or_anti_affinity_group

13843

13844 def _set_affinity_or_anti_affinity_group(self, v, load=False):

13845 """

13846 Setter method for affinity_or_anti_affinity_group, mapped from YANG variable /vnfd/df/vdu_profile/affinity_or_anti_affinity_group (list)

13847 If this variable is read-only (config: false) in the

13848 source YANG file, then _set_affinity_or_anti_affinity_group is considered as a private

13849 method. Backends looking to populate this variable should

13850 do so via calling thisObj._set_affinity_or_anti_affinity_group() directly.

13851

13852 YANG Description: Identifier(s) of the affinity or anti-affinity

13853 group(s) the VDU belongs to.

13854 """

13855 if hasattr(v, "_utype"):

13856 v = v._utype(v)

13857 try:

13858 t = YANGDynClass(v,base=YANGListType("id",yc_affinity_or_anti_affinity_group_etsi_nfv_vnfd__vnfd_df_vdu_profile_affinity_or_anti_affinity_group, yang_name="affinity-or-anti-affinity-group", parent=self, is_container='list', user_ordered=False, path_helper=self._path_helper, yang_keys='id', extensions=None), is_container='list', yang_name="affinity-or-anti-affinity-group", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, extensions=None, namespace='urn:etsi:nfv:yang:etsi-nfv-vnfd', defining_module='etsi-nfv-vnfd', yang_type='list', is_config=True)

13859 except (TypeError, ValueError):

13860 raise ValueError({

13861 'error-string': """affinity_or_anti_affinity_group must be of a type compatible with list""",

13862 'defined-type': "list",

13863 'generated-type': """YANGDynClass(base=YANGListType("id",yc_affinity_or_anti_affinity_group_etsi_nfv_vnfd__vnfd_df_vdu_profile_affinity_or_anti_affinity_group, yang_name="affinity-or-anti-affinity-group", parent=self, is_container='list', user_ordered=False, path_helper=self._path_helper, yang_keys='id', extensions=None), is_container='list', yang_name="affinity-or-anti-affinity-group", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, extensions=None, namespace='urn:etsi:nfv:yang:etsi-nfv-vnfd', defining_module='etsi-nfv-vnfd', yang_type='list', is_config=True)""",

13864 })

13865

13866 self.__affinity_or_anti_affinity_group = t

13867 if hasattr(self, '_set'):

13868 self._set()

13869

13870 def _unset_affinity_or_anti_affinity_group(self):

13871 self.__affinity_or_anti_affinity_group = YANGDynClass(base=YANGListType("id",yc_affinity_or_anti_affinity_group_etsi_nfv_vnfd__vnfd_df_vdu_profile_affinity_or_anti_affinity_group, yang_name="affinity-or-anti-affinity-group", parent=self, is_container='list', user_ordered=False, path_helper=self._path_helper, yang_keys='id', extensions=None), is_container='list', yang_name="affinity-or-anti-affinity-group", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, extensions=None, namespace='urn:etsi:nfv:yang:etsi-nfv-vnfd', defining_module='etsi-nfv-vnfd', yang_type='list', is_config=True)

13872

13873 id = __builtin__.property(_get_id, _set_id)

13874 min_number_of_instances = __builtin__.property(_get_min_number_of_instances, _set_min_number_of_instances)

13875 max_number_of_instances = __builtin__.property(_get_max_number_of_instances, _set_max_number_of_instances)

13876 local_affinity_or_anti_affinity_rule = __builtin__.property(_get_local_affinity_or_anti_affinity_rule, _set_local_affinity_or_anti_affinity_rule)

13877 affinity_or_anti_affinity_group = __builtin__.property(_get_affinity_or_anti_affinity_group, _set_affinity_or_anti_affinity_group)

13878

13879

13880 _pyangbind_elements = OrderedDict([('id', id), ('min_number_of_instances', min_number_of_instances), ('max_number_of_instances', max_number_of_instances), ('local_affinity_or_anti_affinity_rule', local_affinity_or_anti_affinity_rule), ('affinity_or_anti_affinity_group', affinity_or_anti_affinity_group), ])

13881

13882

13883 class yc_local_affinity_or_anti_affinity_rule_etsi_nfv_vnfd__vnfd_df_virtual_link_profile_local_affinity_or_anti_affinity_rule(PybindBase):

13884 """

13885 This class was auto-generated by the PythonClass plugin for PYANG

13886 from YANG module etsi-nfv-vnfd - based on the path /vnfd/df/virtual-link-profile/local-affinity-or-anti-affinity-rule. Each member element of

13887 the container is represented as a class variable - with a specific

13888 YANG type.

13889 """

13890 __slots__ = ('_path_helper', '_extmethods', '__affinity_type','__affinity_scope',)

13891

13892 _yang_name = 'local-affinity-or-anti-affinity-rule'

13893 _yang_namespace = 'urn:etsi:nfv:yang:etsi-nfv-vnfd'

13894

13895 _pybind_generated_by = 'container'

13896

13897 def __init__(self, *args, **kwargs):

13898

13899 self._path_helper = False

13900

13901 self._extmethods = False

13902 self.__affinity_type = YANGDynClass(base=RestrictedClassType(base_type=str, restriction_type="dict_key", restriction_arg={'affinity': {}, 'anti-affinity': {}},), is_leaf=True, yang_name="affinity-type", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, is_keyval=True, namespace='urn:etsi:nfv:yang:etsi-nfv-vnfd', defining_module='etsi-nfv-vnfd', yang_type='affinity-type', is_config=True)

13903 self.__affinity_scope = YANGDynClass(base=RestrictedClassType(base_type=str, restriction_type="dict_key", restriction_arg={'nfvi-node': {}, 'zone-group': {}, 'zone': {}, 'nfvi-pop': {}},), is_leaf=True, yang_name="affinity-scope", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, is_keyval=True, namespace='urn:etsi:nfv:yang:etsi-nfv-vnfd', defining_module='etsi-nfv-vnfd', yang_type='affinity-scope', is_config=True)

13904

13905 load = kwargs.pop("load", None)

13906 if args:

13907 if len(args) > 1:

13908 raise TypeError("cannot create a YANG container with >1 argument")

13909 all_attr = True

13910 for e in self._pyangbind_elements:

13911 if not hasattr(args[0], e):

13912 all_attr = False

13913 break

13914 if not all_attr:

13915 raise ValueError("Supplied object did not have the correct attributes")

13916 for e in self._pyangbind_elements:

13917 nobj = getattr(args[0], e)

13918 if nobj._changed() is False:

13919 continue

13920 setmethod = getattr(self, "_set_%s" % e)

13921 if load is None:

13922 setmethod(getattr(args[0], e))

13923 else:

13924 setmethod(getattr(args[0], e), load=load)

13925

13926 def _path(self):

13927 if hasattr(self, "_parent"):

13928 return self._parent._path()+[self._yang_name]

13929 else:

13930 return ['vnfd', 'df', 'virtual-link-profile', 'local-affinity-or-anti-affinity-rule']

13931

13932 def _get_affinity_type(self):

13933 """

13934 Getter method for affinity_type, mapped from YANG variable /vnfd/df/virtual_link_profile/local_affinity_or_anti_affinity_rule/affinity_type (affinity-type)

13935

13936 YANG Description: Specifies whether the rule is an affinity rule or an

13937 anti-affinity rule.

13938 """

13939 return self.__affinity_type

13940

13941 def _set_affinity_type(self, v, load=False):

13942 """

13943 Setter method for affinity_type, mapped from YANG variable /vnfd/df/virtual_link_profile/local_affinity_or_anti_affinity_rule/affinity_type (affinity-type)

13944 If this variable is read-only (config: false) in the

13945 source YANG file, then _set_affinity_type is considered as a private

13946 method. Backends looking to populate this variable should

13947 do so via calling thisObj._set_affinity_type() directly.

13948

13949 YANG Description: Specifies whether the rule is an affinity rule or an

13950 anti-affinity rule.

13951 """

13952 parent = getattr(self, "_parent", None)

13953 if parent is not None and load is False:

13954 raise AttributeError("Cannot set keys directly when" +

13955 " within an instantiated list")

13956

13957 if hasattr(v, "_utype"):

13958 v = v._utype(v)

13959 try:

13960 t = YANGDynClass(v,base=RestrictedClassType(base_type=str, restriction_type="dict_key", restriction_arg={'affinity': {}, 'anti-affinity': {}},), is_leaf=True, yang_name="affinity-type", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, is_keyval=True, namespace='urn:etsi:nfv:yang:etsi-nfv-vnfd', defining_module='etsi-nfv-vnfd', yang_type='affinity-type', is_config=True)

13961 except (TypeError, ValueError):

13962 raise ValueError({

13963 'error-string': """affinity_type must be of a type compatible with affinity-type""",

13964 'defined-type': "etsi-nfv-vnfd:affinity-type",

13965 'generated-type': """YANGDynClass(base=RestrictedClassType(base_type=str, restriction_type="dict_key", restriction_arg={'affinity': {}, 'anti-affinity': {}},), is_leaf=True, yang_name="affinity-type", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, is_keyval=True, namespace='urn:etsi:nfv:yang:etsi-nfv-vnfd', defining_module='etsi-nfv-vnfd', yang_type='affinity-type', is_config=True)""",

13966 })

13967

13968 self.__affinity_type = t

13969 if hasattr(self, '_set'):

13970 self._set()

13971

13972 def _unset_affinity_type(self):

13973 self.__affinity_type = YANGDynClass(base=RestrictedClassType(base_type=str, restriction_type="dict_key", restriction_arg={'affinity': {}, 'anti-affinity': {}},), is_leaf=True, yang_name="affinity-type", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, is_keyval=True, namespace='urn:etsi:nfv:yang:etsi-nfv-vnfd', defining_module='etsi-nfv-vnfd', yang_type='affinity-type', is_config=True)

13974

13975

13976 def _get_affinity_scope(self):

13977 """

13978 Getter method for affinity_scope, mapped from YANG variable /vnfd/df/virtual_link_profile/local_affinity_or_anti_affinity_rule/affinity_scope (affinity-scope)

13979

13980 YANG Description: Specifies the scope of the rule, possible values are

13981'NFVI-PoP', 'Zone', 'ZoneGroup', 'NFVI-node'.

13982 """

13983 return self.__affinity_scope

13984

13985 def _set_affinity_scope(self, v, load=False):

13986 """

13987 Setter method for affinity_scope, mapped from YANG variable /vnfd/df/virtual_link_profile/local_affinity_or_anti_affinity_rule/affinity_scope (affinity-scope)

13988 If this variable is read-only (config: false) in the

13989 source YANG file, then _set_affinity_scope is considered as a private

13990 method. Backends looking to populate this variable should

13991 do so via calling thisObj._set_affinity_scope() directly.

13992

13993 YANG Description: Specifies the scope of the rule, possible values are

13994'NFVI-PoP', 'Zone', 'ZoneGroup', 'NFVI-node'.

13995 """

13996 parent = getattr(self, "_parent", None)

13997 if parent is not None and load is False:

13998 raise AttributeError("Cannot set keys directly when" +

13999 " within an instantiated list")

14000

14001 if hasattr(v, "_utype"):

14002 v = v._utype(v)

14003 try:

14004 t = YANGDynClass(v,base=RestrictedClassType(base_type=str, restriction_type="dict_key", restriction_arg={'nfvi-node': {}, 'zone-group': {}, 'zone': {}, 'nfvi-pop': {}},), is_leaf=True, yang_name="affinity-scope", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, is_keyval=True, namespace='urn:etsi:nfv:yang:etsi-nfv-vnfd', defining_module='etsi-nfv-vnfd', yang_type='affinity-scope', is_config=True)

14005 except (TypeError, ValueError):

14006 raise ValueError({

14007 'error-string': """affinity_scope must be of a type compatible with affinity-scope""",

14008 'defined-type': "etsi-nfv-vnfd:affinity-scope",

14009 'generated-type': """YANGDynClass(base=RestrictedClassType(base_type=str, restriction_type="dict_key", restriction_arg={'nfvi-node': {}, 'zone-group': {}, 'zone': {}, 'nfvi-pop': {}},), is_leaf=True, yang_name="affinity-scope", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, is_keyval=True, namespace='urn:etsi:nfv:yang:etsi-nfv-vnfd', defining_module='etsi-nfv-vnfd', yang_type='affinity-scope', is_config=True)""",

14010 })

14011

14012 self.__affinity_scope = t

14013 if hasattr(self, '_set'):

14014 self._set()

14015

14016 def _unset_affinity_scope(self):

14017 self.__affinity_scope = YANGDynClass(base=RestrictedClassType(base_type=str, restriction_type="dict_key", restriction_arg={'nfvi-node': {}, 'zone-group': {}, 'zone': {}, 'nfvi-pop': {}},), is_leaf=True, yang_name="affinity-scope", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, is_keyval=True, namespace='urn:etsi:nfv:yang:etsi-nfv-vnfd', defining_module='etsi-nfv-vnfd', yang_type='affinity-scope', is_config=True)

14018

14019 affinity_type = __builtin__.property(_get_affinity_type, _set_affinity_type)

14020 affinity_scope = __builtin__.property(_get_affinity_scope, _set_affinity_scope)

14021

14022

14023 _pyangbind_elements = OrderedDict([('affinity_type', affinity_type), ('affinity_scope', affinity_scope), ])

14024

14025

14026 class yc_affinity_or_anti_affinity_group_etsi_nfv_vnfd__vnfd_df_virtual_link_profile_affinity_or_anti_affinity_group(PybindBase):

14027 """

14028 This class was auto-generated by the PythonClass plugin for PYANG

14029 from YANG module etsi-nfv-vnfd - based on the path /vnfd/df/virtual-link-profile/affinity-or-anti-affinity-group. Each member element of

14030 the container is represented as a class variable - with a specific

14031 YANG type.

14032

14033 YANG Description: Identifier(s) of the affinity or anti-affinity

14034 group(s) the VnfVirtualLinkDesc belongs to.

14035 """

14036 __slots__ = ('_path_helper', '_extmethods', '__id',)

14037

14038 _yang_name = 'affinity-or-anti-affinity-group'

14039 _yang_namespace = 'urn:etsi:nfv:yang:etsi-nfv-vnfd'

14040

14041 _pybind_generated_by = 'container'

14042

14043 def __init__(self, *args, **kwargs):

14044

14045 self._path_helper = False

14046

14047 self._extmethods = False

14048 self.__id = YANGDynClass(base=str, is_leaf=True, yang_name="id", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, is_keyval=True, namespace='urn:etsi:nfv:yang:etsi-nfv-vnfd', defining_module='etsi-nfv-vnfd', yang_type='leafref', is_config=True)

14049

14050 load = kwargs.pop("load", None)

14051 if args:

14052 if len(args) > 1:

14053 raise TypeError("cannot create a YANG container with >1 argument")

14054 all_attr = True

14055 for e in self._pyangbind_elements:

14056 if not hasattr(args[0], e):

14057 all_attr = False

14058 break

14059 if not all_attr:

14060 raise ValueError("Supplied object did not have the correct attributes")

14061 for e in self._pyangbind_elements:

14062 nobj = getattr(args[0], e)

14063 if nobj._changed() is False:

14064 continue

14065 setmethod = getattr(self, "_set_%s" % e)

14066 if load is None:

14067 setmethod(getattr(args[0], e))

14068 else:

14069 setmethod(getattr(args[0], e), load=load)

14070

14071 def _path(self):

14072 if hasattr(self, "_parent"):

14073 return self._parent._path()+[self._yang_name]

14074 else:

14075 return ['vnfd', 'df', 'virtual-link-profile', 'affinity-or-anti-affinity-group']

14076

14077 def _get_id(self):

14078 """

14079 Getter method for id, mapped from YANG variable /vnfd/df/virtual_link_profile/affinity_or_anti_affinity_group/id (leafref)

14080 """

14081 return self.__id

14082

14083 def _set_id(self, v, load=False):

14084 """

14085 Setter method for id, mapped from YANG variable /vnfd/df/virtual_link_profile/affinity_or_anti_affinity_group/id (leafref)

14086 If this variable is read-only (config: false) in the

14087 source YANG file, then _set_id is considered as a private

14088 method. Backends looking to populate this variable should

14089 do so via calling thisObj._set_id() directly.

14090 """

14091 parent = getattr(self, "_parent", None)

14092 if parent is not None and load is False:

14093 raise AttributeError("Cannot set keys directly when" +

14094 " within an instantiated list")

14095

14096 if hasattr(v, "_utype"):

14097 v = v._utype(v)

14098 try:

14099 t = YANGDynClass(v,base=str, is_leaf=True, yang_name="id", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, is_keyval=True, namespace='urn:etsi:nfv:yang:etsi-nfv-vnfd', defining_module='etsi-nfv-vnfd', yang_type='leafref', is_config=True)

14100 except (TypeError, ValueError):

14101 raise ValueError({

14102 'error-string': """id must be of a type compatible with leafref""",

14103 'defined-type': "leafref",

14104 'generated-type': """YANGDynClass(base=str, is_leaf=True, yang_name="id", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, is_keyval=True, namespace='urn:etsi:nfv:yang:etsi-nfv-vnfd', defining_module='etsi-nfv-vnfd', yang_type='leafref', is_config=True)""",

14105 })

14106

14107 self.__id = t

14108 if hasattr(self, '_set'):

14109 self._set()

14110

14111 def _unset_id(self):

14112 self.__id = YANGDynClass(base=str, is_leaf=True, yang_name="id", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, is_keyval=True, namespace='urn:etsi:nfv:yang:etsi-nfv-vnfd', defining_module='etsi-nfv-vnfd', yang_type='leafref', is_config=True)

14113

14114 id = __builtin__.property(_get_id, _set_id)

14115

14116

14117 _pyangbind_elements = OrderedDict([('id', id), ])

14118

14119

14120 class yc_max_bit_rate_requirements_etsi_nfv_vnfd__vnfd_df_virtual_link_profile_max_bit_rate_requirements(PybindBase):

14121 """

14122 This class was auto-generated by the PythonClass plugin for PYANG

14123 from YANG module etsi-nfv-vnfd - based on the path /vnfd/df/virtual-link-profile/max-bit-rate-requirements. Each member element of

14124 the container is represented as a class variable - with a specific

14125 YANG type.

14126

14127 YANG Description: Specifies the maximum bitrate requirements for a VL

14128 instantiated according to this profile.

14129 """

14130 __slots__ = ('_path_helper', '_extmethods', '__root','__leaf',)

14131

14132 _yang_name = 'max-bit-rate-requirements'

14133 _yang_namespace = 'urn:etsi:nfv:yang:etsi-nfv-vnfd'

14134

14135 _pybind_generated_by = 'container'

14136

14137 def __init__(self, *args, **kwargs):

14138

14139 self._path_helper = False

14140

14141 self._extmethods = False

14142 self.__root = YANGDynClass(base=RestrictedClassType(base_type=long, restriction_dict={'range': ['0..4294967295']}, int_size=32), is_leaf=True, yang_name="root", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='urn:etsi:nfv:yang:etsi-nfv-vnfd', defining_module='etsi-nfv-vnfd', yang_type='uint32', is_config=True)

14143 self.__leaf = YANGDynClass(base=RestrictedClassType(base_type=long, restriction_dict={'range': ['0..4294967295']}, int_size=32), is_leaf=True, yang_name="leaf", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='urn:etsi:nfv:yang:etsi-nfv-vnfd', defining_module='etsi-nfv-vnfd', yang_type='uint32', is_config=True)

14144

14145 load = kwargs.pop("load", None)

14146 if args:

14147 if len(args) > 1:

14148 raise TypeError("cannot create a YANG container with >1 argument")

14149 all_attr = True

14150 for e in self._pyangbind_elements:

14151 if not hasattr(args[0], e):

14152 all_attr = False

14153 break

14154 if not all_attr:

14155 raise ValueError("Supplied object did not have the correct attributes")

14156 for e in self._pyangbind_elements:

14157 nobj = getattr(args[0], e)

14158 if nobj._changed() is False:

14159 continue

14160 setmethod = getattr(self, "_set_%s" % e)

14161 if load is None:

14162 setmethod(getattr(args[0], e))

14163 else:

14164 setmethod(getattr(args[0], e), load=load)

14165

14166 def _path(self):

14167 if hasattr(self, "_parent"):

14168 return self._parent._path()+[self._yang_name]

14169 else:

14170 return ['vnfd', 'df', 'virtual-link-profile', 'max-bit-rate-requirements']

14171

14172 def _get_root(self):

14173 """

14174 Getter method for root, mapped from YANG variable /vnfd/df/virtual_link_profile/max_bit_rate_requirements/root (uint32)

14175

14176 YANG Description: Throughput requirement of the link (e.g. bitrate of

14177 E-Line, root bitrate of E-Tree, aggregate capacity

14178 of E-LAN).

14179 """

14180 return self.__root

14181

14182 def _set_root(self, v, load=False):

14183 """

14184 Setter method for root, mapped from YANG variable /vnfd/df/virtual_link_profile/max_bit_rate_requirements/root (uint32)

14185 If this variable is read-only (config: false) in the

14186 source YANG file, then _set_root is considered as a private

14187 method. Backends looking to populate this variable should

14188 do so via calling thisObj._set_root() directly.

14189

14190 YANG Description: Throughput requirement of the link (e.g. bitrate of

14191 E-Line, root bitrate of E-Tree, aggregate capacity

14192 of E-LAN).

14193 """

14194 if hasattr(v, "_utype"):

14195 v = v._utype(v)

14196 try:

14197 t = YANGDynClass(v,base=RestrictedClassType(base_type=long, restriction_dict={'range': ['0..4294967295']}, int_size=32), is_leaf=True, yang_name="root", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='urn:etsi:nfv:yang:etsi-nfv-vnfd', defining_module='etsi-nfv-vnfd', yang_type='uint32', is_config=True)

14198 except (TypeError, ValueError):

14199 raise ValueError({

14200 'error-string': """root must be of a type compatible with uint32""",

14201 'defined-type': "uint32",

14202 'generated-type': """YANGDynClass(base=RestrictedClassType(base_type=long, restriction_dict={'range': ['0..4294967295']}, int_size=32), is_leaf=True, yang_name="root", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='urn:etsi:nfv:yang:etsi-nfv-vnfd', defining_module='etsi-nfv-vnfd', yang_type='uint32', is_config=True)""",

14203 })

14204

14205 self.__root = t

14206 if hasattr(self, '_set'):

14207 self._set()

14208

14209 def _unset_root(self):

14210 self.__root = YANGDynClass(base=RestrictedClassType(base_type=long, restriction_dict={'range': ['0..4294967295']}, int_size=32), is_leaf=True, yang_name="root", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='urn:etsi:nfv:yang:etsi-nfv-vnfd', defining_module='etsi-nfv-vnfd', yang_type='uint32', is_config=True)

14211

14212

14213 def _get_leaf(self):

14214 """

14215 Getter method for leaf, mapped from YANG variable /vnfd/df/virtual_link_profile/max_bit_rate_requirements/leaf (uint32)

14216

14217 YANG Description: Throughput requirement of leaf connections to the

14218 link when applicable to the connectivity type

14219(e.g. for E-Tree and E-LAN branches).

14220 """

14221 return self.__leaf

14222

14223 def _set_leaf(self, v, load=False):

14224 """

14225 Setter method for leaf, mapped from YANG variable /vnfd/df/virtual_link_profile/max_bit_rate_requirements/leaf (uint32)

14226 If this variable is read-only (config: false) in the

14227 source YANG file, then _set_leaf is considered as a private

14228 method. Backends looking to populate this variable should

14229 do so via calling thisObj._set_leaf() directly.

14230

14231 YANG Description: Throughput requirement of leaf connections to the

14232 link when applicable to the connectivity type

14233(e.g. for E-Tree and E-LAN branches).

14234 """

14235 if hasattr(v, "_utype"):

14236 v = v._utype(v)

14237 try:

14238 t = YANGDynClass(v,base=RestrictedClassType(base_type=long, restriction_dict={'range': ['0..4294967295']}, int_size=32), is_leaf=True, yang_name="leaf", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='urn:etsi:nfv:yang:etsi-nfv-vnfd', defining_module='etsi-nfv-vnfd', yang_type='uint32', is_config=True)

14239 except (TypeError, ValueError):

14240 raise ValueError({

14241 'error-string': """leaf must be of a type compatible with uint32""",

14242 'defined-type': "uint32",

14243 'generated-type': """YANGDynClass(base=RestrictedClassType(base_type=long, restriction_dict={'range': ['0..4294967295']}, int_size=32), is_leaf=True, yang_name="leaf", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='urn:etsi:nfv:yang:etsi-nfv-vnfd', defining_module='etsi-nfv-vnfd', yang_type='uint32', is_config=True)""",

14244 })

14245

14246 self.__leaf = t

14247 if hasattr(self, '_set'):

14248 self._set()

14249

14250 def _unset_leaf(self):

14251 self.__leaf = YANGDynClass(base=RestrictedClassType(base_type=long, restriction_dict={'range': ['0..4294967295']}, int_size=32), is_leaf=True, yang_name="leaf", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='urn:etsi:nfv:yang:etsi-nfv-vnfd', defining_module='etsi-nfv-vnfd', yang_type='uint32', is_config=True)

14252

14253 root = __builtin__.property(_get_root, _set_root)

14254 leaf = __builtin__.property(_get_leaf, _set_leaf)

14255

14256

14257 _pyangbind_elements = OrderedDict([('root', root), ('leaf', leaf), ])

14258

14259

14260 class yc_min_bit_rate_requirements_etsi_nfv_vnfd__vnfd_df_virtual_link_profile_min_bit_rate_requirements(PybindBase):

14261 """

14262 This class was auto-generated by the PythonClass plugin for PYANG

14263 from YANG module etsi-nfv-vnfd - based on the path /vnfd/df/virtual-link-profile/min-bit-rate-requirements. Each member element of

14264 the container is represented as a class variable - with a specific

14265 YANG type.

14266

14267 YANG Description: Specifies the minimum bitrate requirements for a VL

14268 instantiated according to this profile.

14269 """

14270 __slots__ = ('_path_helper', '_extmethods', '__root','__leaf',)

14271

14272 _yang_name = 'min-bit-rate-requirements'

14273 _yang_namespace = 'urn:etsi:nfv:yang:etsi-nfv-vnfd'

14274

14275 _pybind_generated_by = 'container'

14276

14277 def __init__(self, *args, **kwargs):

14278

14279 self._path_helper = False

14280

14281 self._extmethods = False

14282 self.__root = YANGDynClass(base=RestrictedClassType(base_type=long, restriction_dict={'range': ['0..4294967295']}, int_size=32), is_leaf=True, yang_name="root", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='urn:etsi:nfv:yang:etsi-nfv-vnfd', defining_module='etsi-nfv-vnfd', yang_type='uint32', is_config=True)

14283 self.__leaf = YANGDynClass(base=RestrictedClassType(base_type=long, restriction_dict={'range': ['0..4294967295']}, int_size=32), is_leaf=True, yang_name="leaf", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='urn:etsi:nfv:yang:etsi-nfv-vnfd', defining_module='etsi-nfv-vnfd', yang_type='uint32', is_config=True)

14284

14285 load = kwargs.pop("load", None)

14286 if args:

14287 if len(args) > 1:

14288 raise TypeError("cannot create a YANG container with >1 argument")

14289 all_attr = True

14290 for e in self._pyangbind_elements:

14291 if not hasattr(args[0], e):

14292 all_attr = False

14293 break

14294 if not all_attr:

14295 raise ValueError("Supplied object did not have the correct attributes")

14296 for e in self._pyangbind_elements:

14297 nobj = getattr(args[0], e)

14298 if nobj._changed() is False:

14299 continue

14300 setmethod = getattr(self, "_set_%s" % e)

14301 if load is None:

14302 setmethod(getattr(args[0], e))

14303 else:

14304 setmethod(getattr(args[0], e), load=load)

14305

14306 def _path(self):

14307 if hasattr(self, "_parent"):

14308 return self._parent._path()+[self._yang_name]

14309 else:

14310 return ['vnfd', 'df', 'virtual-link-profile', 'min-bit-rate-requirements']

14311

14312 def _get_root(self):

14313 """

14314 Getter method for root, mapped from YANG variable /vnfd/df/virtual_link_profile/min_bit_rate_requirements/root (uint32)

14315

14316 YANG Description: Throughput requirement of the link (e.g. bitrate of

14317 E-Line, root bitrate of E-Tree, aggregate capacity

14318 of E-LAN).

14319 """

14320 return self.__root

14321

14322 def _set_root(self, v, load=False):

14323 """

14324 Setter method for root, mapped from YANG variable /vnfd/df/virtual_link_profile/min_bit_rate_requirements/root (uint32)

14325 If this variable is read-only (config: false) in the

14326 source YANG file, then _set_root is considered as a private

14327 method. Backends looking to populate this variable should

14328 do so via calling thisObj._set_root() directly.

14329

14330 YANG Description: Throughput requirement of the link (e.g. bitrate of

14331 E-Line, root bitrate of E-Tree, aggregate capacity

14332 of E-LAN).

14333 """

14334 if hasattr(v, "_utype"):

14335 v = v._utype(v)

14336 try:

14337 t = YANGDynClass(v,base=RestrictedClassType(base_type=long, restriction_dict={'range': ['0..4294967295']}, int_size=32), is_leaf=True, yang_name="root", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='urn:etsi:nfv:yang:etsi-nfv-vnfd', defining_module='etsi-nfv-vnfd', yang_type='uint32', is_config=True)

14338 except (TypeError, ValueError):

14339 raise ValueError({

14340 'error-string': """root must be of a type compatible with uint32""",

14341 'defined-type': "uint32",

14342 'generated-type': """YANGDynClass(base=RestrictedClassType(base_type=long, restriction_dict={'range': ['0..4294967295']}, int_size=32), is_leaf=True, yang_name="root", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='urn:etsi:nfv:yang:etsi-nfv-vnfd', defining_module='etsi-nfv-vnfd', yang_type='uint32', is_config=True)""",

14343 })

14344

14345 self.__root = t

14346 if hasattr(self, '_set'):

14347 self._set()

14348

14349 def _unset_root(self):

14350 self.__root = YANGDynClass(base=RestrictedClassType(base_type=long, restriction_dict={'range': ['0..4294967295']}, int_size=32), is_leaf=True, yang_name="root", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='urn:etsi:nfv:yang:etsi-nfv-vnfd', defining_module='etsi-nfv-vnfd', yang_type='uint32', is_config=True)

14351

14352

14353 def _get_leaf(self):

14354 """

14355 Getter method for leaf, mapped from YANG variable /vnfd/df/virtual_link_profile/min_bit_rate_requirements/leaf (uint32)

14356

14357 YANG Description: Throughput requirement of leaf connections to the

14358 link when applicable to the connectivity type

14359(e.g. for E-Tree and E-LAN branches).

14360 """

14361 return self.__leaf

14362

14363 def _set_leaf(self, v, load=False):

14364 """

14365 Setter method for leaf, mapped from YANG variable /vnfd/df/virtual_link_profile/min_bit_rate_requirements/leaf (uint32)

14366 If this variable is read-only (config: false) in the

14367 source YANG file, then _set_leaf is considered as a private

14368 method. Backends looking to populate this variable should

14369 do so via calling thisObj._set_leaf() directly.

14370

14371 YANG Description: Throughput requirement of leaf connections to the

14372 link when applicable to the connectivity type

14373(e.g. for E-Tree and E-LAN branches).

14374 """

14375 if hasattr(v, "_utype"):

14376 v = v._utype(v)

14377 try:

14378 t = YANGDynClass(v,base=RestrictedClassType(base_type=long, restriction_dict={'range': ['0..4294967295']}, int_size=32), is_leaf=True, yang_name="leaf", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='urn:etsi:nfv:yang:etsi-nfv-vnfd', defining_module='etsi-nfv-vnfd', yang_type='uint32', is_config=True)

14379 except (TypeError, ValueError):

14380 raise ValueError({

14381 'error-string': """leaf must be of a type compatible with uint32""",

14382 'defined-type': "uint32",

14383 'generated-type': """YANGDynClass(base=RestrictedClassType(base_type=long, restriction_dict={'range': ['0..4294967295']}, int_size=32), is_leaf=True, yang_name="leaf", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='urn:etsi:nfv:yang:etsi-nfv-vnfd', defining_module='etsi-nfv-vnfd', yang_type='uint32', is_config=True)""",

14384 })

14385

14386 self.__leaf = t

14387 if hasattr(self, '_set'):

14388 self._set()

14389

14390 def _unset_leaf(self):

14391 self.__leaf = YANGDynClass(base=RestrictedClassType(base_type=long, restriction_dict={'range': ['0..4294967295']}, int_size=32), is_leaf=True, yang_name="leaf", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='urn:etsi:nfv:yang:etsi-nfv-vnfd', defining_module='etsi-nfv-vnfd', yang_type='uint32', is_config=True)

14392

14393 root = __builtin__.property(_get_root, _set_root)

14394 leaf = __builtin__.property(_get_leaf, _set_leaf)

14395

14396

14397 _pyangbind_elements = OrderedDict([('root', root), ('leaf', leaf), ])

14398

14399

14400 class yc_l2_protocol_data_etsi_nfv_vnfd__vnfd_df_virtual_link_profile_virtual_link_protocol_data_l2_protocol_data(PybindBase):

14401 """

14402 This class was auto-generated by the PythonClass plugin for PYANG

14403 from YANG module etsi-nfv-vnfd - based on the path /vnfd/df/virtual-link-profile/virtual-link-protocol-data/l2-protocol-data. Each member element of

14404 the container is represented as a class variable - with a specific

14405 YANG type.

14406

14407 YANG Description: Specifies the L2 protocol data for this virtual link.

14408 Shall be present when the associatedLayerProtocol

14409 attribute indicates a L2 protocol and shall be absent

14410 otherwise.

14411 """

14412 __slots__ = ('_path_helper', '_extmethods', '__name','__network_type','__vlan_transparent','__mtu',)

14413

14414 _yang_name = 'l2-protocol-data'

14415 _yang_namespace = 'urn:etsi:nfv:yang:etsi-nfv-vnfd'

14416

14417 _pybind_generated_by = 'container'

14418

14419 def __init__(self, *args, **kwargs):

14420

14421 self._path_helper = False

14422

14423 self._extmethods = False

14424 self.__name = YANGDynClass(base=str, is_leaf=True, yang_name="name", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='urn:etsi:nfv:yang:etsi-nfv-vnfd', defining_module='etsi-nfv-vnfd', yang_type='string', is_config=True)

14425 self.__network_type = YANGDynClass(base=RestrictedClassType(base_type=str, restriction_type="dict_key", restriction_arg={'flat': {}, 'vlan': {}, 'vxlan': {}, 'gre': {}},), is_leaf=True, yang_name="network-type", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='urn:etsi:nfv:yang:etsi-nfv-vnfd', defining_module='etsi-nfv-vnfd', yang_type='enumeration', is_config=True)

14426 self.__vlan_transparent = YANGDynClass(base=YANGBool, is_leaf=True, yang_name="vlan-transparent", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='urn:etsi:nfv:yang:etsi-nfv-vnfd', defining_module='etsi-nfv-vnfd', yang_type='boolean', is_config=True)

14427 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='urn:etsi:nfv:yang:etsi-nfv-vnfd', defining_module='etsi-nfv-vnfd', yang_type='uint16', is_config=True)

14428

14429 load = kwargs.pop("load", None)

14430 if args:

14431 if len(args) > 1:

14432 raise TypeError("cannot create a YANG container with >1 argument")

14433 all_attr = True

14434 for e in self._pyangbind_elements:

14435 if not hasattr(args[0], e):

14436 all_attr = False

14437 break

14438 if not all_attr:

14439 raise ValueError("Supplied object did not have the correct attributes")

14440 for e in self._pyangbind_elements:

14441 nobj = getattr(args[0], e)

14442 if nobj._changed() is False:

14443 continue

14444 setmethod = getattr(self, "_set_%s" % e)

14445 if load is None:

14446 setmethod(getattr(args[0], e))

14447 else:

14448 setmethod(getattr(args[0], e), load=load)

14449

14450 def _path(self):

14451 if hasattr(self, "_parent"):

14452 return self._parent._path()+[self._yang_name]

14453 else:

14454 return ['vnfd', 'df', 'virtual-link-profile', 'virtual-link-protocol-data', 'l2-protocol-data']

14455

14456 def _get_name(self):

14457 """

14458 Getter method for name, mapped from YANG variable /vnfd/df/virtual_link_profile/virtual_link_protocol_data/l2_protocol_data/name (string)

14459

14460 YANG Description: Network name associated with this L2 protocol.

14461 """

14462 return self.__name

14463

14464 def _set_name(self, v, load=False):

14465 """

14466 Setter method for name, mapped from YANG variable /vnfd/df/virtual_link_profile/virtual_link_protocol_data/l2_protocol_data/name (string)

14467 If this variable is read-only (config: false) in the

14468 source YANG file, then _set_name is considered as a private

14469 method. Backends looking to populate this variable should

14470 do so via calling thisObj._set_name() directly.

14471

14472 YANG Description: Network name associated with this L2 protocol.

14473 """

14474 if hasattr(v, "_utype"):

14475 v = v._utype(v)

14476 try:

14477 t = YANGDynClass(v,base=str, is_leaf=True, yang_name="name", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='urn:etsi:nfv:yang:etsi-nfv-vnfd', defining_module='etsi-nfv-vnfd', yang_type='string', is_config=True)

14478 except (TypeError, ValueError):

14479 raise ValueError({

14480 'error-string': """name must be of a type compatible with string""",

14481 'defined-type': "string",

14482 'generated-type': """YANGDynClass(base=str, is_leaf=True, yang_name="name", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='urn:etsi:nfv:yang:etsi-nfv-vnfd', defining_module='etsi-nfv-vnfd', yang_type='string', is_config=True)""",

14483 })

14484

14485 self.__name = t

14486 if hasattr(self, '_set'):

14487 self._set()

14488

14489 def _unset_name(self):

14490 self.__name = YANGDynClass(base=str, is_leaf=True, yang_name="name", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='urn:etsi:nfv:yang:etsi-nfv-vnfd', defining_module='etsi-nfv-vnfd', yang_type='string', is_config=True)

14491

14492

14493 def _get_network_type(self):

14494 """

14495 Getter method for network_type, mapped from YANG variable /vnfd/df/virtual_link_profile/virtual_link_protocol_data/l2_protocol_data/network_type (enumeration)

14496

14497 YANG Description: Specifies the network type for this L2 protocol.

14498 Possible values: FLAT, VLAN, VXLAN, GRE.

14499 """

14500 return self.__network_type

14501

14502 def _set_network_type(self, v, load=False):

14503 """

14504 Setter method for network_type, mapped from YANG variable /vnfd/df/virtual_link_profile/virtual_link_protocol_data/l2_protocol_data/network_type (enumeration)

14505 If this variable is read-only (config: false) in the

14506 source YANG file, then _set_network_type is considered as a private

14507 method. Backends looking to populate this variable should

14508 do so via calling thisObj._set_network_type() directly.

14509

14510 YANG Description: Specifies the network type for this L2 protocol.

14511 Possible values: FLAT, VLAN, VXLAN, GRE.

14512 """

14513 if hasattr(v, "_utype"):

14514 v = v._utype(v)

14515 try:

14516 t = YANGDynClass(v,base=RestrictedClassType(base_type=str, restriction_type="dict_key", restriction_arg={'flat': {}, 'vlan': {}, 'vxlan': {}, 'gre': {}},), is_leaf=True, yang_name="network-type", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='urn:etsi:nfv:yang:etsi-nfv-vnfd', defining_module='etsi-nfv-vnfd', yang_type='enumeration', is_config=True)

14517 except (TypeError, ValueError):

14518 raise ValueError({

14519 'error-string': """network_type must be of a type compatible with enumeration""",

14520 'defined-type': "etsi-nfv-vnfd:enumeration",

14521 'generated-type': """YANGDynClass(base=RestrictedClassType(base_type=str, restriction_type="dict_key", restriction_arg={'flat': {}, 'vlan': {}, 'vxlan': {}, 'gre': {}},), is_leaf=True, yang_name="network-type", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='urn:etsi:nfv:yang:etsi-nfv-vnfd', defining_module='etsi-nfv-vnfd', yang_type='enumeration', is_config=True)""",

14522 })

14523

14524 self.__network_type = t

14525 if hasattr(self, '_set'):

14526 self._set()

14527

14528 def _unset_network_type(self):

14529 self.__network_type = YANGDynClass(base=RestrictedClassType(base_type=str, restriction_type="dict_key", restriction_arg={'flat': {}, 'vlan': {}, 'vxlan': {}, 'gre': {}},), is_leaf=True, yang_name="network-type", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='urn:etsi:nfv:yang:etsi-nfv-vnfd', defining_module='etsi-nfv-vnfd', yang_type='enumeration', is_config=True)

14530

14531

14532 def _get_vlan_transparent(self):

14533 """

14534 Getter method for vlan_transparent, mapped from YANG variable /vnfd/df/virtual_link_profile/virtual_link_protocol_data/l2_protocol_data/vlan_transparent (boolean)

14535

14536 YANG Description: Specifies whether to support VLAN transparency for

14537 this L2 protocol or not.

14538 """

14539 return self.__vlan_transparent

14540

14541 def _set_vlan_transparent(self, v, load=False):

14542 """

14543 Setter method for vlan_transparent, mapped from YANG variable /vnfd/df/virtual_link_profile/virtual_link_protocol_data/l2_protocol_data/vlan_transparent (boolean)

14544 If this variable is read-only (config: false) in the

14545 source YANG file, then _set_vlan_transparent is considered as a private

14546 method. Backends looking to populate this variable should

14547 do so via calling thisObj._set_vlan_transparent() directly.

14548

14549 YANG Description: Specifies whether to support VLAN transparency for

14550 this L2 protocol or not.

14551 """

14552 if hasattr(v, "_utype"):

14553 v = v._utype(v)

14554 try:

14555 t = YANGDynClass(v,base=YANGBool, is_leaf=True, yang_name="vlan-transparent", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='urn:etsi:nfv:yang:etsi-nfv-vnfd', defining_module='etsi-nfv-vnfd', yang_type='boolean', is_config=True)

14556 except (TypeError, ValueError):

14557 raise ValueError({

14558 'error-string': """vlan_transparent must be of a type compatible with boolean""",

14559 'defined-type': "boolean",

14560 'generated-type': """YANGDynClass(base=YANGBool, is_leaf=True, yang_name="vlan-transparent", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='urn:etsi:nfv:yang:etsi-nfv-vnfd', defining_module='etsi-nfv-vnfd', yang_type='boolean', is_config=True)""",

14561 })

14562

14563 self.__vlan_transparent = t

14564 if hasattr(self, '_set'):

14565 self._set()

14566

14567 def _unset_vlan_transparent(self):

14568 self.__vlan_transparent = YANGDynClass(base=YANGBool, is_leaf=True, yang_name="vlan-transparent", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='urn:etsi:nfv:yang:etsi-nfv-vnfd', defining_module='etsi-nfv-vnfd', yang_type='boolean', is_config=True)

14569

14570

14571 def _get_mtu(self):

14572 """

14573 Getter method for mtu, mapped from YANG variable /vnfd/df/virtual_link_profile/virtual_link_protocol_data/l2_protocol_data/mtu (uint16)

14574

14575 YANG Description: Specifies the maximum transmission unit (MTU) value

14576 for this L2 protocol.

14577 """

14578 return self.__mtu

14579

14580 def _set_mtu(self, v, load=False):

14581 """

14582 Setter method for mtu, mapped from YANG variable /vnfd/df/virtual_link_profile/virtual_link_protocol_data/l2_protocol_data/mtu (uint16)

14583 If this variable is read-only (config: false) in the

14584 source YANG file, then _set_mtu is considered as a private

14585 method. Backends looking to populate this variable should

14586 do so via calling thisObj._set_mtu() directly.

14587

14588 YANG Description: Specifies the maximum transmission unit (MTU) value

14589 for this L2 protocol.

14590 """

14591 if hasattr(v, "_utype"):

14592 v = v._utype(v)

14593 try:

14594 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='urn:etsi:nfv:yang:etsi-nfv-vnfd', defining_module='etsi-nfv-vnfd', yang_type='uint16', is_config=True)

14595 except (TypeError, ValueError):

14596 raise ValueError({

14597 'error-string': """mtu must be of a type compatible with uint16""",

14598 'defined-type': "uint16",

14599 '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='urn:etsi:nfv:yang:etsi-nfv-vnfd', defining_module='etsi-nfv-vnfd', yang_type='uint16', is_config=True)""",

14600 })

14601

14602 self.__mtu = t

14603 if hasattr(self, '_set'):

14604 self._set()

14605

14606 def _unset_mtu(self):

14607 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='urn:etsi:nfv:yang:etsi-nfv-vnfd', defining_module='etsi-nfv-vnfd', yang_type='uint16', is_config=True)

14608

14609 name = __builtin__.property(_get_name, _set_name)

14610 network_type = __builtin__.property(_get_network_type, _set_network_type)

14611 vlan_transparent = __builtin__.property(_get_vlan_transparent, _set_vlan_transparent)

14612 mtu = __builtin__.property(_get_mtu, _set_mtu)

14613

14614

14615 _pyangbind_elements = OrderedDict([('name', name), ('network_type', network_type), ('vlan_transparent', vlan_transparent), ('mtu', mtu), ])

14616

14617

14618 class yc_l3_protocol_data_etsi_nfv_vnfd__vnfd_df_virtual_link_profile_virtual_link_protocol_data_l3_protocol_data(PybindBase):

14619 """

14620 This class was auto-generated by the PythonClass plugin for PYANG

14621 from YANG module etsi-nfv-vnfd - based on the path /vnfd/df/virtual-link-profile/virtual-link-protocol-data/l3-protocol-data. Each member element of

14622 the container is represented as a class variable - with a specific

14623 YANG type.

14624

14625 YANG Description: Specifies the L3 protocol data for this virtual link.

14626 Shall be present when the associatedLayerProtocol

14627 attribute indicates a L3 protocol and shall be absent

14628 otherwise.

14629 """

14630 __slots__ = ('_path_helper', '_extmethods', '__name','__ip_version','__cidr','__ip_allocation_pools','__gateway_ip','__dhcp_enabled','__ipv6_address_mode','__description','__security_group',)

14631

14632 _yang_name = 'l3-protocol-data'

14633 _yang_namespace = 'urn:etsi:nfv:yang:etsi-nfv-vnfd'

14634

14635 _pybind_generated_by = 'container'

14636

14637 def __init__(self, *args, **kwargs):

14638

14639 self._path_helper = False

14640

14641 self._extmethods = False

14642 self.__name = YANGDynClass(base=str, is_leaf=True, yang_name="name", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='urn:etsi:nfv:yang:etsi-nfv-vnfd', defining_module='etsi-nfv-vnfd', yang_type='string', is_config=True)

14643 self.__ip_version = YANGDynClass(base=RestrictedClassType(base_type=str, restriction_type="dict_key", restriction_arg={'ipv4': {}, 'ipv6': {}},), default=str("ipv4"), is_leaf=True, yang_name="ip-version", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='urn:etsi:nfv:yang:etsi-nfv-vnfd', defining_module='etsi-nfv-vnfd', yang_type='enumeration', is_config=True)

14644 self.__cidr = YANGDynClass(base=str, is_leaf=True, yang_name="cidr", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='urn:etsi:nfv:yang:etsi-nfv-vnfd', defining_module='etsi-nfv-vnfd', yang_type='string', is_config=True)

14645 self.__ip_allocation_pools = YANGDynClass(unique=True, base=TypedListType(allowed_type=str), is_leaf=False, yang_name="ip-allocation-pools", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='urn:etsi:nfv:yang:etsi-nfv-vnfd', defining_module='etsi-nfv-vnfd', yang_type='string', is_config=True)

14646 self.__gateway_ip = YANGDynClass(base=[RestrictedClassType(base_type=str, 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])(%[\\p{N}\\p{L}]+)?'}),RestrictedClassType(base_type=str, restriction_dict={'pattern': '((:|[0-9a-fA-F]{0,4}):)([0-9a-fA-F]{0,4}:){0,5}((([0-9a-fA-F]{0,4}:)?(:|[0-9a-fA-F]{0,4}))|(((25[0-5]|2[0-4][0-9]|[01]?[0-9]?[0-9])\\.){3}(25[0-5]|2[0-4][0-9]|[01]?[0-9]?[0-9])))(%[\\p{N}\\p{L}]+)?'}),], is_leaf=True, yang_name="gateway-ip", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='urn:etsi:nfv:yang:etsi-nfv-vnfd', defining_module='etsi-nfv-vnfd', yang_type='inet:ip-address', is_config=True)

14647 self.__dhcp_enabled = YANGDynClass(base=YANGBool, default=YANGBool("true"), is_leaf=True, yang_name="dhcp-enabled", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='urn:etsi:nfv:yang:etsi-nfv-vnfd', defining_module='etsi-nfv-vnfd', yang_type='boolean', is_config=True)

14648 self.__ipv6_address_mode = YANGDynClass(base=RestrictedClassType(base_type=str, restriction_type="dict_key", restriction_arg={'slaac': {}, 'dhcpv6-stateful': {}, 'dhcpv6-stateless': {}},), is_leaf=True, yang_name="ipv6-address-mode", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='urn:etsi:nfv:yang:etsi-nfv-vnfd', defining_module='etsi-nfv-vnfd', yang_type='enumeration', is_config=True)

14649 self.__description = YANGDynClass(base=str, is_leaf=True, yang_name="description", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='urn:etsi:osm:yang:augments:additional-info', defining_module='additional-info', yang_type='string', is_config=True)

14650 self.__security_group = YANGDynClass(base=str, is_leaf=True, yang_name="security-group", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='urn:etsi:osm:yang:augments:various', defining_module='various', yang_type='string', is_config=True)

14651

14652 load = kwargs.pop("load", None)

14653 if args:

14654 if len(args) > 1:

14655 raise TypeError("cannot create a YANG container with >1 argument")

14656 all_attr = True

14657 for e in self._pyangbind_elements:

14658 if not hasattr(args[0], e):

14659 all_attr = False

14660 break

14661 if not all_attr:

14662 raise ValueError("Supplied object did not have the correct attributes")

14663 for e in self._pyangbind_elements:

14664 nobj = getattr(args[0], e)

14665 if nobj._changed() is False:

14666 continue

14667 setmethod = getattr(self, "_set_%s" % e)

14668 if load is None:

14669 setmethod(getattr(args[0], e))

14670 else:

14671 setmethod(getattr(args[0], e), load=load)

14672

14673 def _path(self):

14674 if hasattr(self, "_parent"):

14675 return self._parent._path()+[self._yang_name]

14676 else:

14677 return ['vnfd', 'df', 'virtual-link-profile', 'virtual-link-protocol-data', 'l3-protocol-data']

14678

14679 def _get_name(self):

14680 """

14681 Getter method for name, mapped from YANG variable /vnfd/df/virtual_link_profile/virtual_link_protocol_data/l3_protocol_data/name (string)

14682

14683 YANG Description: Network name associated with this L3 protocol.

14684 """

14685 return self.__name

14686

14687 def _set_name(self, v, load=False):

14688 """

14689 Setter method for name, mapped from YANG variable /vnfd/df/virtual_link_profile/virtual_link_protocol_data/l3_protocol_data/name (string)

14690 If this variable is read-only (config: false) in the

14691 source YANG file, then _set_name is considered as a private

14692 method. Backends looking to populate this variable should

14693 do so via calling thisObj._set_name() directly.

14694

14695 YANG Description: Network name associated with this L3 protocol.

14696 """

14697 if hasattr(v, "_utype"):

14698 v = v._utype(v)

14699 try:

14700 t = YANGDynClass(v,base=str, is_leaf=True, yang_name="name", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='urn:etsi:nfv:yang:etsi-nfv-vnfd', defining_module='etsi-nfv-vnfd', yang_type='string', is_config=True)

14701 except (TypeError, ValueError):

14702 raise ValueError({

14703 'error-string': """name must be of a type compatible with string""",

14704 'defined-type': "string",

14705 'generated-type': """YANGDynClass(base=str, is_leaf=True, yang_name="name", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='urn:etsi:nfv:yang:etsi-nfv-vnfd', defining_module='etsi-nfv-vnfd', yang_type='string', is_config=True)""",

14706 })

14707

14708 self.__name = t

14709 if hasattr(self, '_set'):

14710 self._set()

14711

14712 def _unset_name(self):

14713 self.__name = YANGDynClass(base=str, is_leaf=True, yang_name="name", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='urn:etsi:nfv:yang:etsi-nfv-vnfd', defining_module='etsi-nfv-vnfd', yang_type='string', is_config=True)

14714

14715

14716 def _get_ip_version(self):

14717 """

14718 Getter method for ip_version, mapped from YANG variable /vnfd/df/virtual_link_profile/virtual_link_protocol_data/l3_protocol_data/ip_version (enumeration)

14719

14720 YANG Description: Specifies IP version of this L3 protocol.

14721 Value:

14722• IPV4.

14723• IPV6.

14724 """

14725 return self.__ip_version

14726

14727 def _set_ip_version(self, v, load=False):

14728 """

14729 Setter method for ip_version, mapped from YANG variable /vnfd/df/virtual_link_profile/virtual_link_protocol_data/l3_protocol_data/ip_version (enumeration)

14730 If this variable is read-only (config: false) in the

14731 source YANG file, then _set_ip_version is considered as a private

14732 method. Backends looking to populate this variable should

14733 do so via calling thisObj._set_ip_version() directly.

14734

14735 YANG Description: Specifies IP version of this L3 protocol.

14736 Value:

14737• IPV4.

14738• IPV6.

14739 """

14740 if hasattr(v, "_utype"):

14741 v = v._utype(v)

14742 try:

14743 t = YANGDynClass(v,base=RestrictedClassType(base_type=str, restriction_type="dict_key", restriction_arg={'ipv4': {}, 'ipv6': {}},), default=str("ipv4"), is_leaf=True, yang_name="ip-version", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='urn:etsi:nfv:yang:etsi-nfv-vnfd', defining_module='etsi-nfv-vnfd', yang_type='enumeration', is_config=True)

14744 except (TypeError, ValueError):

14745 raise ValueError({

14746 'error-string': """ip_version must be of a type compatible with enumeration""",

14747 'defined-type': "etsi-nfv-vnfd:enumeration",

14748 'generated-type': """YANGDynClass(base=RestrictedClassType(base_type=str, restriction_type="dict_key", restriction_arg={'ipv4': {}, 'ipv6': {}},), default=str("ipv4"), is_leaf=True, yang_name="ip-version", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='urn:etsi:nfv:yang:etsi-nfv-vnfd', defining_module='etsi-nfv-vnfd', yang_type='enumeration', is_config=True)""",

14749 })

14750

14751 self.__ip_version = t

14752 if hasattr(self, '_set'):

14753 self._set()

14754

14755 def _unset_ip_version(self):

14756 self.__ip_version = YANGDynClass(base=RestrictedClassType(base_type=str, restriction_type="dict_key", restriction_arg={'ipv4': {}, 'ipv6': {}},), default=str("ipv4"), is_leaf=True, yang_name="ip-version", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='urn:etsi:nfv:yang:etsi-nfv-vnfd', defining_module='etsi-nfv-vnfd', yang_type='enumeration', is_config=True)

14757

14758

14759 def _get_cidr(self):

14760 """

14761 Getter method for cidr, mapped from YANG variable /vnfd/df/virtual_link_profile/virtual_link_protocol_data/l3_protocol_data/cidr (string)

14762

14763 YANG Description: Specifies the CIDR (Classless InterDomain Routing)

14764 of this L3 protocol.

14765 """

14766 return self.__cidr

14767

14768 def _set_cidr(self, v, load=False):

14769 """

14770 Setter method for cidr, mapped from YANG variable /vnfd/df/virtual_link_profile/virtual_link_protocol_data/l3_protocol_data/cidr (string)

14771 If this variable is read-only (config: false) in the

14772 source YANG file, then _set_cidr is considered as a private

14773 method. Backends looking to populate this variable should

14774 do so via calling thisObj._set_cidr() directly.

14775

14776 YANG Description: Specifies the CIDR (Classless InterDomain Routing)

14777 of this L3 protocol.

14778 """

14779 if hasattr(v, "_utype"):

14780 v = v._utype(v)

14781 try:

14782 t = YANGDynClass(v,base=str, is_leaf=True, yang_name="cidr", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='urn:etsi:nfv:yang:etsi-nfv-vnfd', defining_module='etsi-nfv-vnfd', yang_type='string', is_config=True)

14783 except (TypeError, ValueError):

14784 raise ValueError({

14785 'error-string': """cidr must be of a type compatible with string""",

14786 'defined-type': "string",

14787 'generated-type': """YANGDynClass(base=str, is_leaf=True, yang_name="cidr", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='urn:etsi:nfv:yang:etsi-nfv-vnfd', defining_module='etsi-nfv-vnfd', yang_type='string', is_config=True)""",

14788 })

14789

14790 self.__cidr = t

14791 if hasattr(self, '_set'):

14792 self._set()

14793

14794 def _unset_cidr(self):

14795 self.__cidr = YANGDynClass(base=str, is_leaf=True, yang_name="cidr", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='urn:etsi:nfv:yang:etsi-nfv-vnfd', defining_module='etsi-nfv-vnfd', yang_type='string', is_config=True)

14796

14797

14798 def _get_ip_allocation_pools(self):

14799 """

14800 Getter method for ip_allocation_pools, mapped from YANG variable /vnfd/df/virtual_link_profile/virtual_link_protocol_data/l3_protocol_data/ip_allocation_pools (string)

14801

14802 YANG Description: Specifies the allocation pools with start and end

14803 IP addresses for this L3 protocol.

14804 """

14805 return self.__ip_allocation_pools

14806

14807 def _set_ip_allocation_pools(self, v, load=False):

14808 """

14809 Setter method for ip_allocation_pools, mapped from YANG variable /vnfd/df/virtual_link_profile/virtual_link_protocol_data/l3_protocol_data/ip_allocation_pools (string)

14810 If this variable is read-only (config: false) in the

14811 source YANG file, then _set_ip_allocation_pools is considered as a private

14812 method. Backends looking to populate this variable should

14813 do so via calling thisObj._set_ip_allocation_pools() directly.

14814

14815 YANG Description: Specifies the allocation pools with start and end

14816 IP addresses for this L3 protocol.

14817 """

14818 if hasattr(v, "_utype"):

14819 v = v._utype(v)

14820 try:

14821 t = YANGDynClass(v,unique=True, base=TypedListType(allowed_type=str), is_leaf=False, yang_name="ip-allocation-pools", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='urn:etsi:nfv:yang:etsi-nfv-vnfd', defining_module='etsi-nfv-vnfd', yang_type='string', is_config=True)

14822 except (TypeError, ValueError):

14823 raise ValueError({

14824 'error-string': """ip_allocation_pools must be of a type compatible with string""",

14825 'defined-type': "string",

14826 'generated-type': """YANGDynClass(unique=True, base=TypedListType(allowed_type=str), is_leaf=False, yang_name="ip-allocation-pools", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='urn:etsi:nfv:yang:etsi-nfv-vnfd', defining_module='etsi-nfv-vnfd', yang_type='string', is_config=True)""",

14827 })

14828

14829 self.__ip_allocation_pools = t

14830 if hasattr(self, '_set'):

14831 self._set()

14832

14833 def _unset_ip_allocation_pools(self):

14834 self.__ip_allocation_pools = YANGDynClass(unique=True, base=TypedListType(allowed_type=str), is_leaf=False, yang_name="ip-allocation-pools", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='urn:etsi:nfv:yang:etsi-nfv-vnfd', defining_module='etsi-nfv-vnfd', yang_type='string', is_config=True)

14835

14836

14837 def _get_gateway_ip(self):

14838 """

14839 Getter method for gateway_ip, mapped from YANG variable /vnfd/df/virtual_link_profile/virtual_link_protocol_data/l3_protocol_data/gateway_ip (inet:ip-address)

14840

14841 YANG Description: Specifies the gateway IP address for this L3

14842 protocol.

14843 """

14844 return self.__gateway_ip

14845

14846 def _set_gateway_ip(self, v, load=False):

14847 """

14848 Setter method for gateway_ip, mapped from YANG variable /vnfd/df/virtual_link_profile/virtual_link_protocol_data/l3_protocol_data/gateway_ip (inet:ip-address)

14849 If this variable is read-only (config: false) in the

14850 source YANG file, then _set_gateway_ip is considered as a private

14851 method. Backends looking to populate this variable should

14852 do so via calling thisObj._set_gateway_ip() directly.

14853

14854 YANG Description: Specifies the gateway IP address for this L3

14855 protocol.

14856 """

14857 if hasattr(v, "_utype"):

14858 v = v._utype(v)

14859 try:

14860 t = YANGDynClass(v,base=[RestrictedClassType(base_type=str, 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])(%[\\p{N}\\p{L}]+)?'}),RestrictedClassType(base_type=str, restriction_dict={'pattern': '((:|[0-9a-fA-F]{0,4}):)([0-9a-fA-F]{0,4}:){0,5}((([0-9a-fA-F]{0,4}:)?(:|[0-9a-fA-F]{0,4}))|(((25[0-5]|2[0-4][0-9]|[01]?[0-9]?[0-9])\\.){3}(25[0-5]|2[0-4][0-9]|[01]?[0-9]?[0-9])))(%[\\p{N}\\p{L}]+)?'}),], is_leaf=True, yang_name="gateway-ip", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='urn:etsi:nfv:yang:etsi-nfv-vnfd', defining_module='etsi-nfv-vnfd', yang_type='inet:ip-address', is_config=True)

14861 except (TypeError, ValueError):

14862 raise ValueError({

14863 'error-string': """gateway_ip must be of a type compatible with inet:ip-address""",

14864 'defined-type': "inet:ip-address",

14865 'generated-type': """YANGDynClass(base=[RestrictedClassType(base_type=str, 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])(%[\\p{N}\\p{L}]+)?'}),RestrictedClassType(base_type=str, restriction_dict={'pattern': '((:|[0-9a-fA-F]{0,4}):)([0-9a-fA-F]{0,4}:){0,5}((([0-9a-fA-F]{0,4}:)?(:|[0-9a-fA-F]{0,4}))|(((25[0-5]|2[0-4][0-9]|[01]?[0-9]?[0-9])\\.){3}(25[0-5]|2[0-4][0-9]|[01]?[0-9]?[0-9])))(%[\\p{N}\\p{L}]+)?'}),], is_leaf=True, yang_name="gateway-ip", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='urn:etsi:nfv:yang:etsi-nfv-vnfd', defining_module='etsi-nfv-vnfd', yang_type='inet:ip-address', is_config=True)""",

14866 })

14867

14868 self.__gateway_ip = t

14869 if hasattr(self, '_set'):

14870 self._set()

14871

14872 def _unset_gateway_ip(self):

14873 self.__gateway_ip = YANGDynClass(base=[RestrictedClassType(base_type=str, 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])(%[\\p{N}\\p{L}]+)?'}),RestrictedClassType(base_type=str, restriction_dict={'pattern': '((:|[0-9a-fA-F]{0,4}):)([0-9a-fA-F]{0,4}:){0,5}((([0-9a-fA-F]{0,4}:)?(:|[0-9a-fA-F]{0,4}))|(((25[0-5]|2[0-4][0-9]|[01]?[0-9]?[0-9])\\.){3}(25[0-5]|2[0-4][0-9]|[01]?[0-9]?[0-9])))(%[\\p{N}\\p{L}]+)?'}),], is_leaf=True, yang_name="gateway-ip", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='urn:etsi:nfv:yang:etsi-nfv-vnfd', defining_module='etsi-nfv-vnfd', yang_type='inet:ip-address', is_config=True)

14874

14875

14876 def _get_dhcp_enabled(self):

14877 """

14878 Getter method for dhcp_enabled, mapped from YANG variable /vnfd/df/virtual_link_profile/virtual_link_protocol_data/l3_protocol_data/dhcp_enabled (boolean)

14879

14880 YANG Description: Indicates whether DHCP (Dynamic Host Configuration

14881 Protocol) is enabled or disabled for this L3

14882 protocol.

14883 """

14884 return self.__dhcp_enabled

14885

14886 def _set_dhcp_enabled(self, v, load=False):

14887 """

14888 Setter method for dhcp_enabled, mapped from YANG variable /vnfd/df/virtual_link_profile/virtual_link_protocol_data/l3_protocol_data/dhcp_enabled (boolean)

14889 If this variable is read-only (config: false) in the

14890 source YANG file, then _set_dhcp_enabled is considered as a private

14891 method. Backends looking to populate this variable should

14892 do so via calling thisObj._set_dhcp_enabled() directly.

14893

14894 YANG Description: Indicates whether DHCP (Dynamic Host Configuration

14895 Protocol) is enabled or disabled for this L3

14896 protocol.

14897 """

14898 if hasattr(v, "_utype"):

14899 v = v._utype(v)

14900 try:

14901 t = YANGDynClass(v,base=YANGBool, default=YANGBool("true"), is_leaf=True, yang_name="dhcp-enabled", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='urn:etsi:nfv:yang:etsi-nfv-vnfd', defining_module='etsi-nfv-vnfd', yang_type='boolean', is_config=True)

14902 except (TypeError, ValueError):

14903 raise ValueError({

14904 'error-string': """dhcp_enabled must be of a type compatible with boolean""",

14905 'defined-type': "boolean",

14906 'generated-type': """YANGDynClass(base=YANGBool, default=YANGBool("true"), is_leaf=True, yang_name="dhcp-enabled", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='urn:etsi:nfv:yang:etsi-nfv-vnfd', defining_module='etsi-nfv-vnfd', yang_type='boolean', is_config=True)""",

14907 })

14908

14909 self.__dhcp_enabled = t

14910 if hasattr(self, '_set'):

14911 self._set()

14912

14913 def _unset_dhcp_enabled(self):

14914 self.__dhcp_enabled = YANGDynClass(base=YANGBool, default=YANGBool("true"), is_leaf=True, yang_name="dhcp-enabled", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='urn:etsi:nfv:yang:etsi-nfv-vnfd', defining_module='etsi-nfv-vnfd', yang_type='boolean', is_config=True)

14915

14916

14917 def _get_ipv6_address_mode(self):

14918 """

14919 Getter method for ipv6_address_mode, mapped from YANG variable /vnfd/df/virtual_link_profile/virtual_link_protocol_data/l3_protocol_data/ipv6_address_mode (enumeration)

14920

14921 YANG Description: Specifies IPv6 address mode. Possible values:

14922• SLAAC.

14923• DHCPV6-STATEFUL.

14924• DHCPV6-STATELESS.

14925 May be present when the value of the ipVersion

14926 attribute is 'IPV6' and shall be absent otherwise.

14927 """

14928 return self.__ipv6_address_mode

14929

14930 def _set_ipv6_address_mode(self, v, load=False):

14931 """

14932 Setter method for ipv6_address_mode, mapped from YANG variable /vnfd/df/virtual_link_profile/virtual_link_protocol_data/l3_protocol_data/ipv6_address_mode (enumeration)

14933 If this variable is read-only (config: false) in the

14934 source YANG file, then _set_ipv6_address_mode is considered as a private

14935 method. Backends looking to populate this variable should

14936 do so via calling thisObj._set_ipv6_address_mode() directly.

14937

14938 YANG Description: Specifies IPv6 address mode. Possible values:

14939• SLAAC.

14940• DHCPV6-STATEFUL.

14941• DHCPV6-STATELESS.

14942 May be present when the value of the ipVersion

14943 attribute is 'IPV6' and shall be absent otherwise.

14944 """

14945 if hasattr(v, "_utype"):

14946 v = v._utype(v)

14947 try:

14948 t = YANGDynClass(v,base=RestrictedClassType(base_type=str, restriction_type="dict_key", restriction_arg={'slaac': {}, 'dhcpv6-stateful': {}, 'dhcpv6-stateless': {}},), is_leaf=True, yang_name="ipv6-address-mode", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='urn:etsi:nfv:yang:etsi-nfv-vnfd', defining_module='etsi-nfv-vnfd', yang_type='enumeration', is_config=True)

14949 except (TypeError, ValueError):

14950 raise ValueError({

14951 'error-string': """ipv6_address_mode must be of a type compatible with enumeration""",

14952 'defined-type': "etsi-nfv-vnfd:enumeration",

14953 'generated-type': """YANGDynClass(base=RestrictedClassType(base_type=str, restriction_type="dict_key", restriction_arg={'slaac': {}, 'dhcpv6-stateful': {}, 'dhcpv6-stateless': {}},), is_leaf=True, yang_name="ipv6-address-mode", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='urn:etsi:nfv:yang:etsi-nfv-vnfd', defining_module='etsi-nfv-vnfd', yang_type='enumeration', is_config=True)""",

14954 })

14955

14956 self.__ipv6_address_mode = t

14957 if hasattr(self, '_set'):

14958 self._set()

14959

14960 def _unset_ipv6_address_mode(self):

14961 self.__ipv6_address_mode = YANGDynClass(base=RestrictedClassType(base_type=str, restriction_type="dict_key", restriction_arg={'slaac': {}, 'dhcpv6-stateful': {}, 'dhcpv6-stateless': {}},), is_leaf=True, yang_name="ipv6-address-mode", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='urn:etsi:nfv:yang:etsi-nfv-vnfd', defining_module='etsi-nfv-vnfd', yang_type='enumeration', is_config=True)

14962

14963

14964 def _get_description(self):

14965 """

14966 Getter method for description, mapped from YANG variable /vnfd/df/virtual_link_profile/virtual_link_protocol_data/l3_protocol_data/description (string)

14967 """

14968 return self.__description

14969

14970 def _set_description(self, v, load=False):

14971 """

14972 Setter method for description, mapped from YANG variable /vnfd/df/virtual_link_profile/virtual_link_protocol_data/l3_protocol_data/description (string)

14973 If this variable is read-only (config: false) in the

14974 source YANG file, then _set_description is considered as a private

14975 method. Backends looking to populate this variable should

14976 do so via calling thisObj._set_description() directly.

14977 """

14978 if hasattr(v, "_utype"):

14979 v = v._utype(v)

14980 try:

14981 t = YANGDynClass(v,base=str, is_leaf=True, yang_name="description", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='urn:etsi:osm:yang:augments:additional-info', defining_module='additional-info', yang_type='string', is_config=True)

14982 except (TypeError, ValueError):

14983 raise ValueError({

14984 'error-string': """description must be of a type compatible with string""",

14985 'defined-type': "string",

14986 'generated-type': """YANGDynClass(base=str, is_leaf=True, yang_name="description", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='urn:etsi:osm:yang:augments:additional-info', defining_module='additional-info', yang_type='string', is_config=True)""",

14987 })

14988

14989 self.__description = t

14990 if hasattr(self, '_set'):

14991 self._set()

14992

14993 def _unset_description(self):

14994 self.__description = YANGDynClass(base=str, is_leaf=True, yang_name="description", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='urn:etsi:osm:yang:augments:additional-info', defining_module='additional-info', yang_type='string', is_config=True)

14995

14996

14997 def _get_security_group(self):

14998 """

14999 Getter method for security_group, mapped from YANG variable /vnfd/df/virtual_link_profile/virtual_link_protocol_data/l3_protocol_data/security_group (string)

15000

15001 YANG Description: Name of the security group

15002 """

15003 return self.__security_group

15004

15005 def _set_security_group(self, v, load=False):

15006 """

15007 Setter method for security_group, mapped from YANG variable /vnfd/df/virtual_link_profile/virtual_link_protocol_data/l3_protocol_data/security_group (string)

15008 If this variable is read-only (config: false) in the

15009 source YANG file, then _set_security_group is considered as a private

15010 method. Backends looking to populate this variable should

15011 do so via calling thisObj._set_security_group() directly.

15012

15013 YANG Description: Name of the security group

15014 """

15015 if hasattr(v, "_utype"):

15016 v = v._utype(v)

15017 try:

15018 t = YANGDynClass(v,base=str, is_leaf=True, yang_name="security-group", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='urn:etsi:osm:yang:augments:various', defining_module='various', yang_type='string', is_config=True)

15019 except (TypeError, ValueError):

15020 raise ValueError({

15021 'error-string': """security_group must be of a type compatible with string""",

15022 'defined-type': "string",

15023 'generated-type': """YANGDynClass(base=str, is_leaf=True, yang_name="security-group", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='urn:etsi:osm:yang:augments:various', defining_module='various', yang_type='string', is_config=True)""",

15024 })

15025

15026 self.__security_group = t

15027 if hasattr(self, '_set'):

15028 self._set()

15029

15030 def _unset_security_group(self):

15031 self.__security_group = YANGDynClass(base=str, is_leaf=True, yang_name="security-group", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='urn:etsi:osm:yang:augments:various', defining_module='various', yang_type='string', is_config=True)

15032

15033 name = __builtin__.property(_get_name, _set_name)

15034 ip_version = __builtin__.property(_get_ip_version, _set_ip_version)

15035 cidr = __builtin__.property(_get_cidr, _set_cidr)

15036 ip_allocation_pools = __builtin__.property(_get_ip_allocation_pools, _set_ip_allocation_pools)

15037 gateway_ip = __builtin__.property(_get_gateway_ip, _set_gateway_ip)

15038 dhcp_enabled = __builtin__.property(_get_dhcp_enabled, _set_dhcp_enabled)

15039 ipv6_address_mode = __builtin__.property(_get_ipv6_address_mode, _set_ipv6_address_mode)

15040 description = __builtin__.property(_get_description, _set_description)

15041 security_group = __builtin__.property(_get_security_group, _set_security_group)

15042

15043

15044 _pyangbind_elements = OrderedDict([('name', name), ('ip_version', ip_version), ('cidr', cidr), ('ip_allocation_pools', ip_allocation_pools), ('gateway_ip', gateway_ip), ('dhcp_enabled', dhcp_enabled), ('ipv6_address_mode', ipv6_address_mode), ('description', description), ('security_group', security_group), ])

15045

15046

15047 class yc_virtual_link_protocol_data_etsi_nfv_vnfd__vnfd_df_virtual_link_profile_virtual_link_protocol_data(PybindBase):

15048 """

15049 This class was auto-generated by the PythonClass plugin for PYANG

15050 from YANG module etsi-nfv-vnfd - based on the path /vnfd/df/virtual-link-profile/virtual-link-protocol-data. Each member element of

15051 the container is represented as a class variable - with a specific

15052 YANG type.

15053

15054 YANG Description: Specifies the protocol data for a VL instantiated

15055 according to this profile. Cardinality 0 is used when

15056 no protocol data needs to be specified.

15057 """

15058 __slots__ = ('_path_helper', '_extmethods', '__associated_layer_protocol','__l2_protocol_data','__l3_protocol_data',)

15059

15060 _yang_name = 'virtual-link-protocol-data'

15061 _yang_namespace = 'urn:etsi:nfv:yang:etsi-nfv-vnfd'

15062

15063 _pybind_generated_by = 'container'

15064

15065 def __init__(self, *args, **kwargs):

15066

15067 self._path_helper = False

15068

15069 self._extmethods = False

15070 self.__associated_layer_protocol = YANGDynClass(base=RestrictedClassType(base_type=str, restriction_type="dict_key", restriction_arg={'ethernet': {'@module': 'etsi-nfv-descriptors', '@namespace': 'urn:etsi:nfv:yang:etsi-nfv-descriptors'}, 'etsi-nfv-descriptors:ethernet': {'@module': 'etsi-nfv-descriptors', '@namespace': 'urn:etsi:nfv:yang:etsi-nfv-descriptors'}, 'nfv:ethernet': {'@module': 'etsi-nfv-descriptors', '@namespace': 'urn:etsi:nfv:yang:etsi-nfv-descriptors'}, 'descriptors:ethernet': {'@module': 'etsi-nfv-descriptors', '@namespace': 'urn:etsi:nfv:yang:etsi-nfv-descriptors'}, 'vnf:ethernet': {'@module': 'etsi-nfv-descriptors', '@namespace': 'urn:etsi:nfv:yang:etsi-nfv-descriptors'}, 'mpls': {'@module': 'etsi-nfv-descriptors', '@namespace': 'urn:etsi:nfv:yang:etsi-nfv-descriptors'}, 'etsi-nfv-descriptors:mpls': {'@module': 'etsi-nfv-descriptors', '@namespace': 'urn:etsi:nfv:yang:etsi-nfv-descriptors'}, 'nfv:mpls': {'@module': 'etsi-nfv-descriptors', '@namespace': 'urn:etsi:nfv:yang:etsi-nfv-descriptors'}, 'descriptors:mpls': {'@module': 'etsi-nfv-descriptors', '@namespace': 'urn:etsi:nfv:yang:etsi-nfv-descriptors'}, 'vnf:mpls': {'@module': 'etsi-nfv-descriptors', '@namespace': 'urn:etsi:nfv:yang:etsi-nfv-descriptors'}, 'odu2': {'@module': 'etsi-nfv-descriptors', '@namespace': 'urn:etsi:nfv:yang:etsi-nfv-descriptors'}, 'etsi-nfv-descriptors:odu2': {'@module': 'etsi-nfv-descriptors', '@namespace': 'urn:etsi:nfv:yang:etsi-nfv-descriptors'}, 'nfv:odu2': {'@module': 'etsi-nfv-descriptors', '@namespace': 'urn:etsi:nfv:yang:etsi-nfv-descriptors'}, 'descriptors:odu2': {'@module': 'etsi-nfv-descriptors', '@namespace': 'urn:etsi:nfv:yang:etsi-nfv-descriptors'}, 'vnf:odu2': {'@module': 'etsi-nfv-descriptors', '@namespace': 'urn:etsi:nfv:yang:etsi-nfv-descriptors'}, 'ipv4': {'@module': 'etsi-nfv-descriptors', '@namespace': 'urn:etsi:nfv:yang:etsi-nfv-descriptors'}, 'etsi-nfv-descriptors:ipv4': {'@module': 'etsi-nfv-descriptors', '@namespace': 'urn:etsi:nfv:yang:etsi-nfv-descriptors'}, 'nfv:ipv4': {'@module': 'etsi-nfv-descriptors', '@namespace': 'urn:etsi:nfv:yang:etsi-nfv-descriptors'}, 'descriptors:ipv4': {'@module': 'etsi-nfv-descriptors', '@namespace': 'urn:etsi:nfv:yang:etsi-nfv-descriptors'}, 'vnf:ipv4': {'@module': 'etsi-nfv-descriptors', '@namespace': 'urn:etsi:nfv:yang:etsi-nfv-descriptors'}, 'ipv6': {'@module': 'etsi-nfv-descriptors', '@namespace': 'urn:etsi:nfv:yang:etsi-nfv-descriptors'}, 'etsi-nfv-descriptors:ipv6': {'@module': 'etsi-nfv-descriptors', '@namespace': 'urn:etsi:nfv:yang:etsi-nfv-descriptors'}, 'nfv:ipv6': {'@module': 'etsi-nfv-descriptors', '@namespace': 'urn:etsi:nfv:yang:etsi-nfv-descriptors'}, 'descriptors:ipv6': {'@module': 'etsi-nfv-descriptors', '@namespace': 'urn:etsi:nfv:yang:etsi-nfv-descriptors'}, 'vnf:ipv6': {'@module': 'etsi-nfv-descriptors', '@namespace': 'urn:etsi:nfv:yang:etsi-nfv-descriptors'}, 'pseudo-wire': {'@module': 'etsi-nfv-descriptors', '@namespace': 'urn:etsi:nfv:yang:etsi-nfv-descriptors'}, 'etsi-nfv-descriptors:pseudo-wire': {'@module': 'etsi-nfv-descriptors', '@namespace': 'urn:etsi:nfv:yang:etsi-nfv-descriptors'}, 'nfv:pseudo-wire': {'@module': 'etsi-nfv-descriptors', '@namespace': 'urn:etsi:nfv:yang:etsi-nfv-descriptors'}, 'descriptors:pseudo-wire': {'@module': 'etsi-nfv-descriptors', '@namespace': 'urn:etsi:nfv:yang:etsi-nfv-descriptors'}, 'vnf:pseudo-wire': {'@module': 'etsi-nfv-descriptors', '@namespace': 'urn:etsi:nfv:yang:etsi-nfv-descriptors'}},), is_leaf=True, yang_name="associated-layer-protocol", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='urn:etsi:nfv:yang:etsi-nfv-vnfd', defining_module='etsi-nfv-vnfd', yang_type='identityref', is_config=True)

15071 self.__l2_protocol_data = YANGDynClass(base=yc_l2_protocol_data_etsi_nfv_vnfd__vnfd_df_virtual_link_profile_virtual_link_protocol_data_l2_protocol_data, is_container='container', yang_name="l2-protocol-data", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, extensions=None, namespace='urn:etsi:nfv:yang:etsi-nfv-vnfd', defining_module='etsi-nfv-vnfd', yang_type='container', is_config=True)

15072 self.__l3_protocol_data = YANGDynClass(base=yc_l3_protocol_data_etsi_nfv_vnfd__vnfd_df_virtual_link_profile_virtual_link_protocol_data_l3_protocol_data, is_container='container', yang_name="l3-protocol-data", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, extensions=None, namespace='urn:etsi:nfv:yang:etsi-nfv-vnfd', defining_module='etsi-nfv-vnfd', yang_type='container', is_config=True)

15073

15074 load = kwargs.pop("load", None)

15075 if args:

15076 if len(args) > 1:

15077 raise TypeError("cannot create a YANG container with >1 argument")

15078 all_attr = True

15079 for e in self._pyangbind_elements:

15080 if not hasattr(args[0], e):

15081 all_attr = False

15082 break

15083 if not all_attr:

15084 raise ValueError("Supplied object did not have the correct attributes")

15085 for e in self._pyangbind_elements:

15086 nobj = getattr(args[0], e)

15087 if nobj._changed() is False:

15088 continue

15089 setmethod = getattr(self, "_set_%s" % e)

15090 if load is None:

15091 setmethod(getattr(args[0], e))

15092 else:

15093 setmethod(getattr(args[0], e), load=load)

15094

15095 def _path(self):

15096 if hasattr(self, "_parent"):

15097 return self._parent._path()+[self._yang_name]

15098 else:

15099 return ['vnfd', 'df', 'virtual-link-profile', 'virtual-link-protocol-data']

15100

15101 def _get_associated_layer_protocol(self):

15102 """

15103 Getter method for associated_layer_protocol, mapped from YANG variable /vnfd/df/virtual_link_profile/virtual_link_protocol_data/associated_layer_protocol (identityref)

15104

15105 YANG Description: One of the values of the attribute layerProtocol of

15106 the ConnectivityType IE.

15107 """

15108 return self.__associated_layer_protocol

15109

15110 def _set_associated_layer_protocol(self, v, load=False):

15111 """

15112 Setter method for associated_layer_protocol, mapped from YANG variable /vnfd/df/virtual_link_profile/virtual_link_protocol_data/associated_layer_protocol (identityref)

15113 If this variable is read-only (config: false) in the

15114 source YANG file, then _set_associated_layer_protocol is considered as a private

15115 method. Backends looking to populate this variable should

15116 do so via calling thisObj._set_associated_layer_protocol() directly.

15117

15118 YANG Description: One of the values of the attribute layerProtocol of

15119 the ConnectivityType IE.

15120 """

15121 if hasattr(v, "_utype"):

15122 v = v._utype(v)

15123 try:

15124 t = YANGDynClass(v,base=RestrictedClassType(base_type=str, restriction_type="dict_key", restriction_arg={'ethernet': {'@module': 'etsi-nfv-descriptors', '@namespace': 'urn:etsi:nfv:yang:etsi-nfv-descriptors'}, 'etsi-nfv-descriptors:ethernet': {'@module': 'etsi-nfv-descriptors', '@namespace': 'urn:etsi:nfv:yang:etsi-nfv-descriptors'}, 'nfv:ethernet': {'@module': 'etsi-nfv-descriptors', '@namespace': 'urn:etsi:nfv:yang:etsi-nfv-descriptors'}, 'descriptors:ethernet': {'@module': 'etsi-nfv-descriptors', '@namespace': 'urn:etsi:nfv:yang:etsi-nfv-descriptors'}, 'vnf:ethernet': {'@module': 'etsi-nfv-descriptors', '@namespace': 'urn:etsi:nfv:yang:etsi-nfv-descriptors'}, 'mpls': {'@module': 'etsi-nfv-descriptors', '@namespace': 'urn:etsi:nfv:yang:etsi-nfv-descriptors'}, 'etsi-nfv-descriptors:mpls': {'@module': 'etsi-nfv-descriptors', '@namespace': 'urn:etsi:nfv:yang:etsi-nfv-descriptors'}, 'nfv:mpls': {'@module': 'etsi-nfv-descriptors', '@namespace': 'urn:etsi:nfv:yang:etsi-nfv-descriptors'}, 'descriptors:mpls': {'@module': 'etsi-nfv-descriptors', '@namespace': 'urn:etsi:nfv:yang:etsi-nfv-descriptors'}, 'vnf:mpls': {'@module': 'etsi-nfv-descriptors', '@namespace': 'urn:etsi:nfv:yang:etsi-nfv-descriptors'}, 'odu2': {'@module': 'etsi-nfv-descriptors', '@namespace': 'urn:etsi:nfv:yang:etsi-nfv-descriptors'}, 'etsi-nfv-descriptors:odu2': {'@module': 'etsi-nfv-descriptors', '@namespace': 'urn:etsi:nfv:yang:etsi-nfv-descriptors'}, 'nfv:odu2': {'@module': 'etsi-nfv-descriptors', '@namespace': 'urn:etsi:nfv:yang:etsi-nfv-descriptors'}, 'descriptors:odu2': {'@module': 'etsi-nfv-descriptors', '@namespace': 'urn:etsi:nfv:yang:etsi-nfv-descriptors'}, 'vnf:odu2': {'@module': 'etsi-nfv-descriptors', '@namespace': 'urn:etsi:nfv:yang:etsi-nfv-descriptors'}, 'ipv4': {'@module': 'etsi-nfv-descriptors', '@namespace': 'urn:etsi:nfv:yang:etsi-nfv-descriptors'}, 'etsi-nfv-descriptors:ipv4': {'@module': 'etsi-nfv-descriptors', '@namespace': 'urn:etsi:nfv:yang:etsi-nfv-descriptors'}, 'nfv:ipv4': {'@module': 'etsi-nfv-descriptors', '@namespace': 'urn:etsi:nfv:yang:etsi-nfv-descriptors'}, 'descriptors:ipv4': {'@module': 'etsi-nfv-descriptors', '@namespace': 'urn:etsi:nfv:yang:etsi-nfv-descriptors'}, 'vnf:ipv4': {'@module': 'etsi-nfv-descriptors', '@namespace': 'urn:etsi:nfv:yang:etsi-nfv-descriptors'}, 'ipv6': {'@module': 'etsi-nfv-descriptors', '@namespace': 'urn:etsi:nfv:yang:etsi-nfv-descriptors'}, 'etsi-nfv-descriptors:ipv6': {'@module': 'etsi-nfv-descriptors', '@namespace': 'urn:etsi:nfv:yang:etsi-nfv-descriptors'}, 'nfv:ipv6': {'@module': 'etsi-nfv-descriptors', '@namespace': 'urn:etsi:nfv:yang:etsi-nfv-descriptors'}, 'descriptors:ipv6': {'@module': 'etsi-nfv-descriptors', '@namespace': 'urn:etsi:nfv:yang:etsi-nfv-descriptors'}, 'vnf:ipv6': {'@module': 'etsi-nfv-descriptors', '@namespace': 'urn:etsi:nfv:yang:etsi-nfv-descriptors'}, 'pseudo-wire': {'@module': 'etsi-nfv-descriptors', '@namespace': 'urn:etsi:nfv:yang:etsi-nfv-descriptors'}, 'etsi-nfv-descriptors:pseudo-wire': {'@module': 'etsi-nfv-descriptors', '@namespace': 'urn:etsi:nfv:yang:etsi-nfv-descriptors'}, 'nfv:pseudo-wire': {'@module': 'etsi-nfv-descriptors', '@namespace': 'urn:etsi:nfv:yang:etsi-nfv-descriptors'}, 'descriptors:pseudo-wire': {'@module': 'etsi-nfv-descriptors', '@namespace': 'urn:etsi:nfv:yang:etsi-nfv-descriptors'}, 'vnf:pseudo-wire': {'@module': 'etsi-nfv-descriptors', '@namespace': 'urn:etsi:nfv:yang:etsi-nfv-descriptors'}},), is_leaf=True, yang_name="associated-layer-protocol", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='urn:etsi:nfv:yang:etsi-nfv-vnfd', defining_module='etsi-nfv-vnfd', yang_type='identityref', is_config=True)

15125 except (TypeError, ValueError):

15126 raise ValueError({

15127 'error-string': """associated_layer_protocol must be of a type compatible with identityref""",

15128 'defined-type': "etsi-nfv-vnfd:identityref",

15129 'generated-type': """YANGDynClass(base=RestrictedClassType(base_type=str, restriction_type="dict_key", restriction_arg={'ethernet': {'@module': 'etsi-nfv-descriptors', '@namespace': 'urn:etsi:nfv:yang:etsi-nfv-descriptors'}, 'etsi-nfv-descriptors:ethernet': {'@module': 'etsi-nfv-descriptors', '@namespace': 'urn:etsi:nfv:yang:etsi-nfv-descriptors'}, 'nfv:ethernet': {'@module': 'etsi-nfv-descriptors', '@namespace': 'urn:etsi:nfv:yang:etsi-nfv-descriptors'}, 'descriptors:ethernet': {'@module': 'etsi-nfv-descriptors', '@namespace': 'urn:etsi:nfv:yang:etsi-nfv-descriptors'}, 'vnf:ethernet': {'@module': 'etsi-nfv-descriptors', '@namespace': 'urn:etsi:nfv:yang:etsi-nfv-descriptors'}, 'mpls': {'@module': 'etsi-nfv-descriptors', '@namespace': 'urn:etsi:nfv:yang:etsi-nfv-descriptors'}, 'etsi-nfv-descriptors:mpls': {'@module': 'etsi-nfv-descriptors', '@namespace': 'urn:etsi:nfv:yang:etsi-nfv-descriptors'}, 'nfv:mpls': {'@module': 'etsi-nfv-descriptors', '@namespace': 'urn:etsi:nfv:yang:etsi-nfv-descriptors'}, 'descriptors:mpls': {'@module': 'etsi-nfv-descriptors', '@namespace': 'urn:etsi:nfv:yang:etsi-nfv-descriptors'}, 'vnf:mpls': {'@module': 'etsi-nfv-descriptors', '@namespace': 'urn:etsi:nfv:yang:etsi-nfv-descriptors'}, 'odu2': {'@module': 'etsi-nfv-descriptors', '@namespace': 'urn:etsi:nfv:yang:etsi-nfv-descriptors'}, 'etsi-nfv-descriptors:odu2': {'@module': 'etsi-nfv-descriptors', '@namespace': 'urn:etsi:nfv:yang:etsi-nfv-descriptors'}, 'nfv:odu2': {'@module': 'etsi-nfv-descriptors', '@namespace': 'urn:etsi:nfv:yang:etsi-nfv-descriptors'}, 'descriptors:odu2': {'@module': 'etsi-nfv-descriptors', '@namespace': 'urn:etsi:nfv:yang:etsi-nfv-descriptors'}, 'vnf:odu2': {'@module': 'etsi-nfv-descriptors', '@namespace': 'urn:etsi:nfv:yang:etsi-nfv-descriptors'}, 'ipv4': {'@module': 'etsi-nfv-descriptors', '@namespace': 'urn:etsi:nfv:yang:etsi-nfv-descriptors'}, 'etsi-nfv-descriptors:ipv4': {'@module': 'etsi-nfv-descriptors', '@namespace': 'urn:etsi:nfv:yang:etsi-nfv-descriptors'}, 'nfv:ipv4': {'@module': 'etsi-nfv-descriptors', '@namespace': 'urn:etsi:nfv:yang:etsi-nfv-descriptors'}, 'descriptors:ipv4': {'@module': 'etsi-nfv-descriptors', '@namespace': 'urn:etsi:nfv:yang:etsi-nfv-descriptors'}, 'vnf:ipv4': {'@module': 'etsi-nfv-descriptors', '@namespace': 'urn:etsi:nfv:yang:etsi-nfv-descriptors'}, 'ipv6': {'@module': 'etsi-nfv-descriptors', '@namespace': 'urn:etsi:nfv:yang:etsi-nfv-descriptors'}, 'etsi-nfv-descriptors:ipv6': {'@module': 'etsi-nfv-descriptors', '@namespace': 'urn:etsi:nfv:yang:etsi-nfv-descriptors'}, 'nfv:ipv6': {'@module': 'etsi-nfv-descriptors', '@namespace': 'urn:etsi:nfv:yang:etsi-nfv-descriptors'}, 'descriptors:ipv6': {'@module': 'etsi-nfv-descriptors', '@namespace': 'urn:etsi:nfv:yang:etsi-nfv-descriptors'}, 'vnf:ipv6': {'@module': 'etsi-nfv-descriptors', '@namespace': 'urn:etsi:nfv:yang:etsi-nfv-descriptors'}, 'pseudo-wire': {'@module': 'etsi-nfv-descriptors', '@namespace': 'urn:etsi:nfv:yang:etsi-nfv-descriptors'}, 'etsi-nfv-descriptors:pseudo-wire': {'@module': 'etsi-nfv-descriptors', '@namespace': 'urn:etsi:nfv:yang:etsi-nfv-descriptors'}, 'nfv:pseudo-wire': {'@module': 'etsi-nfv-descriptors', '@namespace': 'urn:etsi:nfv:yang:etsi-nfv-descriptors'}, 'descriptors:pseudo-wire': {'@module': 'etsi-nfv-descriptors', '@namespace': 'urn:etsi:nfv:yang:etsi-nfv-descriptors'}, 'vnf:pseudo-wire': {'@module': 'etsi-nfv-descriptors', '@namespace': 'urn:etsi:nfv:yang:etsi-nfv-descriptors'}},), is_leaf=True, yang_name="associated-layer-protocol", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='urn:etsi:nfv:yang:etsi-nfv-vnfd', defining_module='etsi-nfv-vnfd', yang_type='identityref', is_config=True)""",

15130 })

15131

15132 self.__associated_layer_protocol = t

15133 if hasattr(self, '_set'):

15134 self._set()

15135

15136 def _unset_associated_layer_protocol(self):

15137 self.__associated_layer_protocol = YANGDynClass(base=RestrictedClassType(base_type=str, restriction_type="dict_key", restriction_arg={'ethernet': {'@module': 'etsi-nfv-descriptors', '@namespace': 'urn:etsi:nfv:yang:etsi-nfv-descriptors'}, 'etsi-nfv-descriptors:ethernet': {'@module': 'etsi-nfv-descriptors', '@namespace': 'urn:etsi:nfv:yang:etsi-nfv-descriptors'}, 'nfv:ethernet': {'@module': 'etsi-nfv-descriptors', '@namespace': 'urn:etsi:nfv:yang:etsi-nfv-descriptors'}, 'descriptors:ethernet': {'@module': 'etsi-nfv-descriptors', '@namespace': 'urn:etsi:nfv:yang:etsi-nfv-descriptors'}, 'vnf:ethernet': {'@module': 'etsi-nfv-descriptors', '@namespace': 'urn:etsi:nfv:yang:etsi-nfv-descriptors'}, 'mpls': {'@module': 'etsi-nfv-descriptors', '@namespace': 'urn:etsi:nfv:yang:etsi-nfv-descriptors'}, 'etsi-nfv-descriptors:mpls': {'@module': 'etsi-nfv-descriptors', '@namespace': 'urn:etsi:nfv:yang:etsi-nfv-descriptors'}, 'nfv:mpls': {'@module': 'etsi-nfv-descriptors', '@namespace': 'urn:etsi:nfv:yang:etsi-nfv-descriptors'}, 'descriptors:mpls': {'@module': 'etsi-nfv-descriptors', '@namespace': 'urn:etsi:nfv:yang:etsi-nfv-descriptors'}, 'vnf:mpls': {'@module': 'etsi-nfv-descriptors', '@namespace': 'urn:etsi:nfv:yang:etsi-nfv-descriptors'}, 'odu2': {'@module': 'etsi-nfv-descriptors', '@namespace': 'urn:etsi:nfv:yang:etsi-nfv-descriptors'}, 'etsi-nfv-descriptors:odu2': {'@module': 'etsi-nfv-descriptors', '@namespace': 'urn:etsi:nfv:yang:etsi-nfv-descriptors'}, 'nfv:odu2': {'@module': 'etsi-nfv-descriptors', '@namespace': 'urn:etsi:nfv:yang:etsi-nfv-descriptors'}, 'descriptors:odu2': {'@module': 'etsi-nfv-descriptors', '@namespace': 'urn:etsi:nfv:yang:etsi-nfv-descriptors'}, 'vnf:odu2': {'@module': 'etsi-nfv-descriptors', '@namespace': 'urn:etsi:nfv:yang:etsi-nfv-descriptors'}, 'ipv4': {'@module': 'etsi-nfv-descriptors', '@namespace': 'urn:etsi:nfv:yang:etsi-nfv-descriptors'}, 'etsi-nfv-descriptors:ipv4': {'@module': 'etsi-nfv-descriptors', '@namespace': 'urn:etsi:nfv:yang:etsi-nfv-descriptors'}, 'nfv:ipv4': {'@module': 'etsi-nfv-descriptors', '@namespace': 'urn:etsi:nfv:yang:etsi-nfv-descriptors'}, 'descriptors:ipv4': {'@module': 'etsi-nfv-descriptors', '@namespace': 'urn:etsi:nfv:yang:etsi-nfv-descriptors'}, 'vnf:ipv4': {'@module': 'etsi-nfv-descriptors', '@namespace': 'urn:etsi:nfv:yang:etsi-nfv-descriptors'}, 'ipv6': {'@module': 'etsi-nfv-descriptors', '@namespace': 'urn:etsi:nfv:yang:etsi-nfv-descriptors'}, 'etsi-nfv-descriptors:ipv6': {'@module': 'etsi-nfv-descriptors', '@namespace': 'urn:etsi:nfv:yang:etsi-nfv-descriptors'}, 'nfv:ipv6': {'@module': 'etsi-nfv-descriptors', '@namespace': 'urn:etsi:nfv:yang:etsi-nfv-descriptors'}, 'descriptors:ipv6': {'@module': 'etsi-nfv-descriptors', '@namespace': 'urn:etsi:nfv:yang:etsi-nfv-descriptors'}, 'vnf:ipv6': {'@module': 'etsi-nfv-descriptors', '@namespace': 'urn:etsi:nfv:yang:etsi-nfv-descriptors'}, 'pseudo-wire': {'@module': 'etsi-nfv-descriptors', '@namespace': 'urn:etsi:nfv:yang:etsi-nfv-descriptors'}, 'etsi-nfv-descriptors:pseudo-wire': {'@module': 'etsi-nfv-descriptors', '@namespace': 'urn:etsi:nfv:yang:etsi-nfv-descriptors'}, 'nfv:pseudo-wire': {'@module': 'etsi-nfv-descriptors', '@namespace': 'urn:etsi:nfv:yang:etsi-nfv-descriptors'}, 'descriptors:pseudo-wire': {'@module': 'etsi-nfv-descriptors', '@namespace': 'urn:etsi:nfv:yang:etsi-nfv-descriptors'}, 'vnf:pseudo-wire': {'@module': 'etsi-nfv-descriptors', '@namespace': 'urn:etsi:nfv:yang:etsi-nfv-descriptors'}},), is_leaf=True, yang_name="associated-layer-protocol", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='urn:etsi:nfv:yang:etsi-nfv-vnfd', defining_module='etsi-nfv-vnfd', yang_type='identityref', is_config=True)

15138

15139

15140 def _get_l2_protocol_data(self):

15141 """

15142 Getter method for l2_protocol_data, mapped from YANG variable /vnfd/df/virtual_link_profile/virtual_link_protocol_data/l2_protocol_data (container)

15143

15144 YANG Description: Specifies the L2 protocol data for this virtual link.

15145 Shall be present when the associatedLayerProtocol

15146 attribute indicates a L2 protocol and shall be absent

15147 otherwise.

15148 """

15149 return self.__l2_protocol_data

15150

15151 def _set_l2_protocol_data(self, v, load=False):

15152 """

15153 Setter method for l2_protocol_data, mapped from YANG variable /vnfd/df/virtual_link_profile/virtual_link_protocol_data/l2_protocol_data (container)

15154 If this variable is read-only (config: false) in the

15155 source YANG file, then _set_l2_protocol_data is considered as a private

15156 method. Backends looking to populate this variable should

15157 do so via calling thisObj._set_l2_protocol_data() directly.

15158

15159 YANG Description: Specifies the L2 protocol data for this virtual link.

15160 Shall be present when the associatedLayerProtocol

15161 attribute indicates a L2 protocol and shall be absent

15162 otherwise.

15163 """

15164 if hasattr(v, "_utype"):

15165 v = v._utype(v)

15166 try:

15167 t = YANGDynClass(v,base=yc_l2_protocol_data_etsi_nfv_vnfd__vnfd_df_virtual_link_profile_virtual_link_protocol_data_l2_protocol_data, is_container='container', yang_name="l2-protocol-data", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, extensions=None, namespace='urn:etsi:nfv:yang:etsi-nfv-vnfd', defining_module='etsi-nfv-vnfd', yang_type='container', is_config=True)

15168 except (TypeError, ValueError):

15169 raise ValueError({

15170 'error-string': """l2_protocol_data must be of a type compatible with container""",

15171 'defined-type': "container",

15172 'generated-type': """YANGDynClass(base=yc_l2_protocol_data_etsi_nfv_vnfd__vnfd_df_virtual_link_profile_virtual_link_protocol_data_l2_protocol_data, is_container='container', yang_name="l2-protocol-data", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, extensions=None, namespace='urn:etsi:nfv:yang:etsi-nfv-vnfd', defining_module='etsi-nfv-vnfd', yang_type='container', is_config=True)""",

15173 })

15174

15175 self.__l2_protocol_data = t

15176 if hasattr(self, '_set'):

15177 self._set()

15178

15179 def _unset_l2_protocol_data(self):

15180 self.__l2_protocol_data = YANGDynClass(base=yc_l2_protocol_data_etsi_nfv_vnfd__vnfd_df_virtual_link_profile_virtual_link_protocol_data_l2_protocol_data, is_container='container', yang_name="l2-protocol-data", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, extensions=None, namespace='urn:etsi:nfv:yang:etsi-nfv-vnfd', defining_module='etsi-nfv-vnfd', yang_type='container', is_config=True)

15181

15182

15183 def _get_l3_protocol_data(self):

15184 """

15185 Getter method for l3_protocol_data, mapped from YANG variable /vnfd/df/virtual_link_profile/virtual_link_protocol_data/l3_protocol_data (container)

15186

15187 YANG Description: Specifies the L3 protocol data for this virtual link.

15188 Shall be present when the associatedLayerProtocol

15189 attribute indicates a L3 protocol and shall be absent

15190 otherwise.

15191 """

15192 return self.__l3_protocol_data

15193

15194 def _set_l3_protocol_data(self, v, load=False):

15195 """

15196 Setter method for l3_protocol_data, mapped from YANG variable /vnfd/df/virtual_link_profile/virtual_link_protocol_data/l3_protocol_data (container)

15197 If this variable is read-only (config: false) in the

15198 source YANG file, then _set_l3_protocol_data is considered as a private

15199 method. Backends looking to populate this variable should

15200 do so via calling thisObj._set_l3_protocol_data() directly.

15201

15202 YANG Description: Specifies the L3 protocol data for this virtual link.

15203 Shall be present when the associatedLayerProtocol

15204 attribute indicates a L3 protocol and shall be absent

15205 otherwise.

15206 """

15207 if hasattr(v, "_utype"):

15208 v = v._utype(v)

15209 try:

15210 t = YANGDynClass(v,base=yc_l3_protocol_data_etsi_nfv_vnfd__vnfd_df_virtual_link_profile_virtual_link_protocol_data_l3_protocol_data, is_container='container', yang_name="l3-protocol-data", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, extensions=None, namespace='urn:etsi:nfv:yang:etsi-nfv-vnfd', defining_module='etsi-nfv-vnfd', yang_type='container', is_config=True)

15211 except (TypeError, ValueError):

15212 raise ValueError({

15213 'error-string': """l3_protocol_data must be of a type compatible with container""",

15214 'defined-type': "container",

15215 'generated-type': """YANGDynClass(base=yc_l3_protocol_data_etsi_nfv_vnfd__vnfd_df_virtual_link_profile_virtual_link_protocol_data_l3_protocol_data, is_container='container', yang_name="l3-protocol-data", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, extensions=None, namespace='urn:etsi:nfv:yang:etsi-nfv-vnfd', defining_module='etsi-nfv-vnfd', yang_type='container', is_config=True)""",

15216 })

15217

15218 self.__l3_protocol_data = t

15219 if hasattr(self, '_set'):

15220 self._set()

15221

15222 def _unset_l3_protocol_data(self):

15223 self.__l3_protocol_data = YANGDynClass(base=yc_l3_protocol_data_etsi_nfv_vnfd__vnfd_df_virtual_link_profile_virtual_link_protocol_data_l3_protocol_data, is_container='container', yang_name="l3-protocol-data", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, extensions=None, namespace='urn:etsi:nfv:yang:etsi-nfv-vnfd', defining_module='etsi-nfv-vnfd', yang_type='container', is_config=True)

15224

15225 associated_layer_protocol = __builtin__.property(_get_associated_layer_protocol, _set_associated_layer_protocol)

15226 l2_protocol_data = __builtin__.property(_get_l2_protocol_data, _set_l2_protocol_data)

15227 l3_protocol_data = __builtin__.property(_get_l3_protocol_data, _set_l3_protocol_data)

15228

15229

15230 _pyangbind_elements = OrderedDict([('associated_layer_protocol', associated_layer_protocol), ('l2_protocol_data', l2_protocol_data), ('l3_protocol_data', l3_protocol_data), ])

15231

15232

15233 class yc_virtual_link_profile_etsi_nfv_vnfd__vnfd_df_virtual_link_profile(PybindBase):

15234 """

15235 This class was auto-generated by the PythonClass plugin for PYANG

15236 from YANG module etsi-nfv-vnfd - based on the path /vnfd/df/virtual-link-profile. Each member element of

15237 the container is represented as a class variable - with a specific

15238 YANG type.

15239

15240 YANG Description: Defines the internal VLD along with additional data which

15241 is used in this DF.

15242 """

15243 __slots__ = ('_path_helper', '_extmethods', '__id','__flavour','__local_affinity_or_anti_affinity_rule','__affinity_or_anti_affinity_group','__max_bit_rate_requirements','__min_bit_rate_requirements','__virtual_link_protocol_data',)

15244

15245 _yang_name = 'virtual-link-profile'

15246 _yang_namespace = 'urn:etsi:nfv:yang:etsi-nfv-vnfd'

15247

15248 _pybind_generated_by = 'container'

15249

15250 def __init__(self, *args, **kwargs):

15251

15252 self._path_helper = False

15253

15254 self._extmethods = False

15255 self.__id = YANGDynClass(base=str, is_leaf=True, yang_name="id", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, is_keyval=True, namespace='urn:etsi:nfv:yang:etsi-nfv-vnfd', defining_module='etsi-nfv-vnfd', yang_type='leafref', is_config=True)

15256 self.__flavour = YANGDynClass(base=str, is_leaf=True, yang_name="flavour", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, is_keyval=True, namespace='urn:etsi:nfv:yang:etsi-nfv-vnfd', defining_module='etsi-nfv-vnfd', yang_type='leafref', is_config=True)

15257 self.__local_affinity_or_anti_affinity_rule = YANGDynClass(base=YANGListType("affinity_type affinity_scope",yc_local_affinity_or_anti_affinity_rule_etsi_nfv_vnfd__vnfd_df_virtual_link_profile_local_affinity_or_anti_affinity_rule, yang_name="local-affinity-or-anti-affinity-rule", parent=self, is_container='list', user_ordered=False, path_helper=self._path_helper, yang_keys='affinity-type affinity-scope', extensions=None), is_container='list', yang_name="local-affinity-or-anti-affinity-rule", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, extensions=None, namespace='urn:etsi:nfv:yang:etsi-nfv-vnfd', defining_module='etsi-nfv-vnfd', yang_type='list', is_config=True)

15258 self.__affinity_or_anti_affinity_group = YANGDynClass(base=YANGListType("id",yc_affinity_or_anti_affinity_group_etsi_nfv_vnfd__vnfd_df_virtual_link_profile_affinity_or_anti_affinity_group, yang_name="affinity-or-anti-affinity-group", parent=self, is_container='list', user_ordered=False, path_helper=self._path_helper, yang_keys='id', extensions=None), is_container='list', yang_name="affinity-or-anti-affinity-group", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, extensions=None, namespace='urn:etsi:nfv:yang:etsi-nfv-vnfd', defining_module='etsi-nfv-vnfd', yang_type='list', is_config=True)

15259 self.__max_bit_rate_requirements = YANGDynClass(base=yc_max_bit_rate_requirements_etsi_nfv_vnfd__vnfd_df_virtual_link_profile_max_bit_rate_requirements, is_container='container', yang_name="max-bit-rate-requirements", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, extensions=None, namespace='urn:etsi:nfv:yang:etsi-nfv-vnfd', defining_module='etsi-nfv-vnfd', yang_type='container', is_config=True)

15260 self.__min_bit_rate_requirements = YANGDynClass(base=yc_min_bit_rate_requirements_etsi_nfv_vnfd__vnfd_df_virtual_link_profile_min_bit_rate_requirements, is_container='container', yang_name="min-bit-rate-requirements", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, extensions=None, namespace='urn:etsi:nfv:yang:etsi-nfv-vnfd', defining_module='etsi-nfv-vnfd', yang_type='container', is_config=True)

15261 self.__virtual_link_protocol_data = YANGDynClass(base=yc_virtual_link_protocol_data_etsi_nfv_vnfd__vnfd_df_virtual_link_profile_virtual_link_protocol_data, is_container='container', yang_name="virtual-link-protocol-data", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, extensions=None, namespace='urn:etsi:nfv:yang:etsi-nfv-vnfd', defining_module='etsi-nfv-vnfd', yang_type='container', is_config=True)

15262

15263 load = kwargs.pop("load", None)

15264 if args:

15265 if len(args) > 1:

15266 raise TypeError("cannot create a YANG container with >1 argument")

15267 all_attr = True

15268 for e in self._pyangbind_elements:

15269 if not hasattr(args[0], e):

15270 all_attr = False

15271 break

15272 if not all_attr:

15273 raise ValueError("Supplied object did not have the correct attributes")

15274 for e in self._pyangbind_elements:

15275 nobj = getattr(args[0], e)

15276 if nobj._changed() is False:

15277 continue

15278 setmethod = getattr(self, "_set_%s" % e)

15279 if load is None:

15280 setmethod(getattr(args[0], e))

15281 else:

15282 setmethod(getattr(args[0], e), load=load)

15283

15284 def _path(self):

15285 if hasattr(self, "_parent"):

15286 return self._parent._path()+[self._yang_name]

15287 else:

15288 return ['vnfd', 'df', 'virtual-link-profile']

15289

15290 def _get_id(self):

15291 """

15292 Getter method for id, mapped from YANG variable /vnfd/df/virtual_link_profile/id (leafref)

15293

15294 YANG Description: Uniquely identifies a Vnf VLD.

15295 """

15296 return self.__id

15297

15298 def _set_id(self, v, load=False):

15299 """

15300 Setter method for id, mapped from YANG variable /vnfd/df/virtual_link_profile/id (leafref)

15301 If this variable is read-only (config: false) in the

15302 source YANG file, then _set_id is considered as a private

15303 method. Backends looking to populate this variable should

15304 do so via calling thisObj._set_id() directly.

15305

15306 YANG Description: Uniquely identifies a Vnf VLD.

15307 """

15308 parent = getattr(self, "_parent", None)

15309 if parent is not None and load is False:

15310 raise AttributeError("Cannot set keys directly when" +

15311 " within an instantiated list")

15312

15313 if hasattr(v, "_utype"):

15314 v = v._utype(v)

15315 try:

15316 t = YANGDynClass(v,base=str, is_leaf=True, yang_name="id", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, is_keyval=True, namespace='urn:etsi:nfv:yang:etsi-nfv-vnfd', defining_module='etsi-nfv-vnfd', yang_type='leafref', is_config=True)

15317 except (TypeError, ValueError):

15318 raise ValueError({

15319 'error-string': """id must be of a type compatible with leafref""",

15320 'defined-type': "leafref",

15321 'generated-type': """YANGDynClass(base=str, is_leaf=True, yang_name="id", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, is_keyval=True, namespace='urn:etsi:nfv:yang:etsi-nfv-vnfd', defining_module='etsi-nfv-vnfd', yang_type='leafref', is_config=True)""",

15322 })

15323

15324 self.__id = t

15325 if hasattr(self, '_set'):

15326 self._set()

15327

15328 def _unset_id(self):

15329 self.__id = YANGDynClass(base=str, is_leaf=True, yang_name="id", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, is_keyval=True, namespace='urn:etsi:nfv:yang:etsi-nfv-vnfd', defining_module='etsi-nfv-vnfd', yang_type='leafref', is_config=True)

15330

15331

15332 def _get_flavour(self):

15333 """

15334 Getter method for flavour, mapped from YANG variable /vnfd/df/virtual_link_profile/flavour (leafref)

15335

15336 YANG Description: Identifies a flavour within the VnfVirtualLinkDesc.

15337 """

15338 return self.__flavour

15339

15340 def _set_flavour(self, v, load=False):

15341 """

15342 Setter method for flavour, mapped from YANG variable /vnfd/df/virtual_link_profile/flavour (leafref)

15343 If this variable is read-only (config: false) in the

15344 source YANG file, then _set_flavour is considered as a private

15345 method. Backends looking to populate this variable should

15346 do so via calling thisObj._set_flavour() directly.

15347

15348 YANG Description: Identifies a flavour within the VnfVirtualLinkDesc.

15349 """

15350 parent = getattr(self, "_parent", None)

15351 if parent is not None and load is False:

15352 raise AttributeError("Cannot set keys directly when" +

15353 " within an instantiated list")

15354

15355 if hasattr(v, "_utype"):

15356 v = v._utype(v)

15357 try:

15358 t = YANGDynClass(v,base=str, is_leaf=True, yang_name="flavour", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, is_keyval=True, namespace='urn:etsi:nfv:yang:etsi-nfv-vnfd', defining_module='etsi-nfv-vnfd', yang_type='leafref', is_config=True)

15359 except (TypeError, ValueError):

15360 raise ValueError({

15361 'error-string': """flavour must be of a type compatible with leafref""",

15362 'defined-type': "leafref",

15363 'generated-type': """YANGDynClass(base=str, is_leaf=True, yang_name="flavour", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, is_keyval=True, namespace='urn:etsi:nfv:yang:etsi-nfv-vnfd', defining_module='etsi-nfv-vnfd', yang_type='leafref', is_config=True)""",

15364 })

15365

15366 self.__flavour = t

15367 if hasattr(self, '_set'):

15368 self._set()

15369

15370 def _unset_flavour(self):

15371 self.__flavour = YANGDynClass(base=str, is_leaf=True, yang_name="flavour", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, is_keyval=True, namespace='urn:etsi:nfv:yang:etsi-nfv-vnfd', defining_module='etsi-nfv-vnfd', yang_type='leafref', is_config=True)

15372

15373

15374 def _get_local_affinity_or_anti_affinity_rule(self):

15375 """

15376 Getter method for local_affinity_or_anti_affinity_rule, mapped from YANG variable /vnfd/df/virtual_link_profile/local_affinity_or_anti_affinity_rule (list)

15377 """

15378 return self.__local_affinity_or_anti_affinity_rule

15379

15380 def _set_local_affinity_or_anti_affinity_rule(self, v, load=False):

15381 """

15382 Setter method for local_affinity_or_anti_affinity_rule, mapped from YANG variable /vnfd/df/virtual_link_profile/local_affinity_or_anti_affinity_rule (list)

15383 If this variable is read-only (config: false) in the

15384 source YANG file, then _set_local_affinity_or_anti_affinity_rule is considered as a private

15385 method. Backends looking to populate this variable should

15386 do so via calling thisObj._set_local_affinity_or_anti_affinity_rule() directly.

15387 """

15388 if hasattr(v, "_utype"):

15389 v = v._utype(v)

15390 try:

15391 t = YANGDynClass(v,base=YANGListType("affinity_type affinity_scope",yc_local_affinity_or_anti_affinity_rule_etsi_nfv_vnfd__vnfd_df_virtual_link_profile_local_affinity_or_anti_affinity_rule, yang_name="local-affinity-or-anti-affinity-rule", parent=self, is_container='list', user_ordered=False, path_helper=self._path_helper, yang_keys='affinity-type affinity-scope', extensions=None), is_container='list', yang_name="local-affinity-or-anti-affinity-rule", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, extensions=None, namespace='urn:etsi:nfv:yang:etsi-nfv-vnfd', defining_module='etsi-nfv-vnfd', yang_type='list', is_config=True)

15392 except (TypeError, ValueError):

15393 raise ValueError({

15394 'error-string': """local_affinity_or_anti_affinity_rule must be of a type compatible with list""",

15395 'defined-type': "list",

15396 'generated-type': """YANGDynClass(base=YANGListType("affinity_type affinity_scope",yc_local_affinity_or_anti_affinity_rule_etsi_nfv_vnfd__vnfd_df_virtual_link_profile_local_affinity_or_anti_affinity_rule, yang_name="local-affinity-or-anti-affinity-rule", parent=self, is_container='list', user_ordered=False, path_helper=self._path_helper, yang_keys='affinity-type affinity-scope', extensions=None), is_container='list', yang_name="local-affinity-or-anti-affinity-rule", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, extensions=None, namespace='urn:etsi:nfv:yang:etsi-nfv-vnfd', defining_module='etsi-nfv-vnfd', yang_type='list', is_config=True)""",

15397 })

15398

15399 self.__local_affinity_or_anti_affinity_rule = t

15400 if hasattr(self, '_set'):

15401 self._set()

15402

15403 def _unset_local_affinity_or_anti_affinity_rule(self):

15404 self.__local_affinity_or_anti_affinity_rule = YANGDynClass(base=YANGListType("affinity_type affinity_scope",yc_local_affinity_or_anti_affinity_rule_etsi_nfv_vnfd__vnfd_df_virtual_link_profile_local_affinity_or_anti_affinity_rule, yang_name="local-affinity-or-anti-affinity-rule", parent=self, is_container='list', user_ordered=False, path_helper=self._path_helper, yang_keys='affinity-type affinity-scope', extensions=None), is_container='list', yang_name="local-affinity-or-anti-affinity-rule", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, extensions=None, namespace='urn:etsi:nfv:yang:etsi-nfv-vnfd', defining_module='etsi-nfv-vnfd', yang_type='list', is_config=True)

15405

15406

15407 def _get_affinity_or_anti_affinity_group(self):

15408 """

15409 Getter method for affinity_or_anti_affinity_group, mapped from YANG variable /vnfd/df/virtual_link_profile/affinity_or_anti_affinity_group (list)

15410

15411 YANG Description: Identifier(s) of the affinity or anti-affinity

15412 group(s) the VnfVirtualLinkDesc belongs to.

15413 """

15414 return self.__affinity_or_anti_affinity_group

15415

15416 def _set_affinity_or_anti_affinity_group(self, v, load=False):

15417 """

15418 Setter method for affinity_or_anti_affinity_group, mapped from YANG variable /vnfd/df/virtual_link_profile/affinity_or_anti_affinity_group (list)

15419 If this variable is read-only (config: false) in the

15420 source YANG file, then _set_affinity_or_anti_affinity_group is considered as a private

15421 method. Backends looking to populate this variable should

15422 do so via calling thisObj._set_affinity_or_anti_affinity_group() directly.

15423

15424 YANG Description: Identifier(s) of the affinity or anti-affinity

15425 group(s) the VnfVirtualLinkDesc belongs to.

15426 """

15427 if hasattr(v, "_utype"):

15428 v = v._utype(v)

15429 try:

15430 t = YANGDynClass(v,base=YANGListType("id",yc_affinity_or_anti_affinity_group_etsi_nfv_vnfd__vnfd_df_virtual_link_profile_affinity_or_anti_affinity_group, yang_name="affinity-or-anti-affinity-group", parent=self, is_container='list', user_ordered=False, path_helper=self._path_helper, yang_keys='id', extensions=None), is_container='list', yang_name="affinity-or-anti-affinity-group", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, extensions=None, namespace='urn:etsi:nfv:yang:etsi-nfv-vnfd', defining_module='etsi-nfv-vnfd', yang_type='list', is_config=True)

15431 except (TypeError, ValueError):

15432 raise ValueError({

15433 'error-string': """affinity_or_anti_affinity_group must be of a type compatible with list""",

15434 'defined-type': "list",

15435 'generated-type': """YANGDynClass(base=YANGListType("id",yc_affinity_or_anti_affinity_group_etsi_nfv_vnfd__vnfd_df_virtual_link_profile_affinity_or_anti_affinity_group, yang_name="affinity-or-anti-affinity-group", parent=self, is_container='list', user_ordered=False, path_helper=self._path_helper, yang_keys='id', extensions=None), is_container='list', yang_name="affinity-or-anti-affinity-group", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, extensions=None, namespace='urn:etsi:nfv:yang:etsi-nfv-vnfd', defining_module='etsi-nfv-vnfd', yang_type='list', is_config=True)""",

15436 })

15437

15438 self.__affinity_or_anti_affinity_group = t

15439 if hasattr(self, '_set'):

15440 self._set()

15441

15442 def _unset_affinity_or_anti_affinity_group(self):

15443 self.__affinity_or_anti_affinity_group = YANGDynClass(base=YANGListType("id",yc_affinity_or_anti_affinity_group_etsi_nfv_vnfd__vnfd_df_virtual_link_profile_affinity_or_anti_affinity_group, yang_name="affinity-or-anti-affinity-group", parent=self, is_container='list', user_ordered=False, path_helper=self._path_helper, yang_keys='id', extensions=None), is_container='list', yang_name="affinity-or-anti-affinity-group", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, extensions=None, namespace='urn:etsi:nfv:yang:etsi-nfv-vnfd', defining_module='etsi-nfv-vnfd', yang_type='list', is_config=True)

15444

15445

15446 def _get_max_bit_rate_requirements(self):

15447 """

15448 Getter method for max_bit_rate_requirements, mapped from YANG variable /vnfd/df/virtual_link_profile/max_bit_rate_requirements (container)

15449

15450 YANG Description: Specifies the maximum bitrate requirements for a VL

15451 instantiated according to this profile.

15452 """

15453 return self.__max_bit_rate_requirements

15454

15455 def _set_max_bit_rate_requirements(self, v, load=False):

15456 """

15457 Setter method for max_bit_rate_requirements, mapped from YANG variable /vnfd/df/virtual_link_profile/max_bit_rate_requirements (container)

15458 If this variable is read-only (config: false) in the

15459 source YANG file, then _set_max_bit_rate_requirements is considered as a private

15460 method. Backends looking to populate this variable should

15461 do so via calling thisObj._set_max_bit_rate_requirements() directly.

15462

15463 YANG Description: Specifies the maximum bitrate requirements for a VL

15464 instantiated according to this profile.

15465 """

15466 if hasattr(v, "_utype"):

15467 v = v._utype(v)

15468 try:

15469 t = YANGDynClass(v,base=yc_max_bit_rate_requirements_etsi_nfv_vnfd__vnfd_df_virtual_link_profile_max_bit_rate_requirements, is_container='container', yang_name="max-bit-rate-requirements", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, extensions=None, namespace='urn:etsi:nfv:yang:etsi-nfv-vnfd', defining_module='etsi-nfv-vnfd', yang_type='container', is_config=True)

15470 except (TypeError, ValueError):

15471 raise ValueError({

15472 'error-string': """max_bit_rate_requirements must be of a type compatible with container""",

15473 'defined-type': "container",

15474 'generated-type': """YANGDynClass(base=yc_max_bit_rate_requirements_etsi_nfv_vnfd__vnfd_df_virtual_link_profile_max_bit_rate_requirements, is_container='container', yang_name="max-bit-rate-requirements", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, extensions=None, namespace='urn:etsi:nfv:yang:etsi-nfv-vnfd', defining_module='etsi-nfv-vnfd', yang_type='container', is_config=True)""",

15475 })

15476

15477 self.__max_bit_rate_requirements = t

15478 if hasattr(self, '_set'):

15479 self._set()

15480

15481 def _unset_max_bit_rate_requirements(self):

15482 self.__max_bit_rate_requirements = YANGDynClass(base=yc_max_bit_rate_requirements_etsi_nfv_vnfd__vnfd_df_virtual_link_profile_max_bit_rate_requirements, is_container='container', yang_name="max-bit-rate-requirements", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, extensions=None, namespace='urn:etsi:nfv:yang:etsi-nfv-vnfd', defining_module='etsi-nfv-vnfd', yang_type='container', is_config=True)

15483

15484

15485 def _get_min_bit_rate_requirements(self):

15486 """

15487 Getter method for min_bit_rate_requirements, mapped from YANG variable /vnfd/df/virtual_link_profile/min_bit_rate_requirements (container)

15488

15489 YANG Description: Specifies the minimum bitrate requirements for a VL

15490 instantiated according to this profile.

15491 """

15492 return self.__min_bit_rate_requirements

15493

15494 def _set_min_bit_rate_requirements(self, v, load=False):

15495 """

15496 Setter method for min_bit_rate_requirements, mapped from YANG variable /vnfd/df/virtual_link_profile/min_bit_rate_requirements (container)

15497 If this variable is read-only (config: false) in the

15498 source YANG file, then _set_min_bit_rate_requirements is considered as a private

15499 method. Backends looking to populate this variable should

15500 do so via calling thisObj._set_min_bit_rate_requirements() directly.

15501

15502 YANG Description: Specifies the minimum bitrate requirements for a VL

15503 instantiated according to this profile.

15504 """

15505 if hasattr(v, "_utype"):

15506 v = v._utype(v)

15507 try:

15508 t = YANGDynClass(v,base=yc_min_bit_rate_requirements_etsi_nfv_vnfd__vnfd_df_virtual_link_profile_min_bit_rate_requirements, is_container='container', yang_name="min-bit-rate-requirements", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, extensions=None, namespace='urn:etsi:nfv:yang:etsi-nfv-vnfd', defining_module='etsi-nfv-vnfd', yang_type='container', is_config=True)

15509 except (TypeError, ValueError):

15510 raise ValueError({

15511 'error-string': """min_bit_rate_requirements must be of a type compatible with container""",

15512 'defined-type': "container",

15513 'generated-type': """YANGDynClass(base=yc_min_bit_rate_requirements_etsi_nfv_vnfd__vnfd_df_virtual_link_profile_min_bit_rate_requirements, is_container='container', yang_name="min-bit-rate-requirements", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, extensions=None, namespace='urn:etsi:nfv:yang:etsi-nfv-vnfd', defining_module='etsi-nfv-vnfd', yang_type='container', is_config=True)""",

15514 })

15515

15516 self.__min_bit_rate_requirements = t

15517 if hasattr(self, '_set'):

15518 self._set()

15519

15520 def _unset_min_bit_rate_requirements(self):

15521 self.__min_bit_rate_requirements = YANGDynClass(base=yc_min_bit_rate_requirements_etsi_nfv_vnfd__vnfd_df_virtual_link_profile_min_bit_rate_requirements, is_container='container', yang_name="min-bit-rate-requirements", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, extensions=None, namespace='urn:etsi:nfv:yang:etsi-nfv-vnfd', defining_module='etsi-nfv-vnfd', yang_type='container', is_config=True)

15522

15523

15524 def _get_virtual_link_protocol_data(self):

15525 """

15526 Getter method for virtual_link_protocol_data, mapped from YANG variable /vnfd/df/virtual_link_profile/virtual_link_protocol_data (container)

15527

15528 YANG Description: Specifies the protocol data for a VL instantiated

15529 according to this profile. Cardinality 0 is used when

15530 no protocol data needs to be specified.

15531 """

15532 return self.__virtual_link_protocol_data

15533

15534 def _set_virtual_link_protocol_data(self, v, load=False):

15535 """

15536 Setter method for virtual_link_protocol_data, mapped from YANG variable /vnfd/df/virtual_link_profile/virtual_link_protocol_data (container)

15537 If this variable is read-only (config: false) in the

15538 source YANG file, then _set_virtual_link_protocol_data is considered as a private

15539 method. Backends looking to populate this variable should

15540 do so via calling thisObj._set_virtual_link_protocol_data() directly.

15541

15542 YANG Description: Specifies the protocol data for a VL instantiated

15543 according to this profile. Cardinality 0 is used when

15544 no protocol data needs to be specified.

15545 """

15546 if hasattr(v, "_utype"):

15547 v = v._utype(v)

15548 try:

15549 t = YANGDynClass(v,base=yc_virtual_link_protocol_data_etsi_nfv_vnfd__vnfd_df_virtual_link_profile_virtual_link_protocol_data, is_container='container', yang_name="virtual-link-protocol-data", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, extensions=None, namespace='urn:etsi:nfv:yang:etsi-nfv-vnfd', defining_module='etsi-nfv-vnfd', yang_type='container', is_config=True)

15550 except (TypeError, ValueError):

15551 raise ValueError({

15552 'error-string': """virtual_link_protocol_data must be of a type compatible with container""",

15553 'defined-type': "container",

15554 'generated-type': """YANGDynClass(base=yc_virtual_link_protocol_data_etsi_nfv_vnfd__vnfd_df_virtual_link_profile_virtual_link_protocol_data, is_container='container', yang_name="virtual-link-protocol-data", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, extensions=None, namespace='urn:etsi:nfv:yang:etsi-nfv-vnfd', defining_module='etsi-nfv-vnfd', yang_type='container', is_config=True)""",

15555 })

15556

15557 self.__virtual_link_protocol_data = t

15558 if hasattr(self, '_set'):

15559 self._set()

15560

15561 def _unset_virtual_link_protocol_data(self):

15562 self.__virtual_link_protocol_data = YANGDynClass(base=yc_virtual_link_protocol_data_etsi_nfv_vnfd__vnfd_df_virtual_link_profile_virtual_link_protocol_data, is_container='container', yang_name="virtual-link-protocol-data", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, extensions=None, namespace='urn:etsi:nfv:yang:etsi-nfv-vnfd', defining_module='etsi-nfv-vnfd', yang_type='container', is_config=True)

15563

15564 id = __builtin__.property(_get_id, _set_id)

15565 flavour = __builtin__.property(_get_flavour, _set_flavour)

15566 local_affinity_or_anti_affinity_rule = __builtin__.property(_get_local_affinity_or_anti_affinity_rule, _set_local_affinity_or_anti_affinity_rule)

15567 affinity_or_anti_affinity_group = __builtin__.property(_get_affinity_or_anti_affinity_group, _set_affinity_or_anti_affinity_group)

15568 max_bit_rate_requirements = __builtin__.property(_get_max_bit_rate_requirements, _set_max_bit_rate_requirements)

15569 min_bit_rate_requirements = __builtin__.property(_get_min_bit_rate_requirements, _set_min_bit_rate_requirements)

15570 virtual_link_protocol_data = __builtin__.property(_get_virtual_link_protocol_data, _set_virtual_link_protocol_data)

15571

15572

15573 _pyangbind_elements = OrderedDict([('id', id), ('flavour', flavour), ('local_affinity_or_anti_affinity_rule', local_affinity_or_anti_affinity_rule), ('affinity_or_anti_affinity_group', affinity_or_anti_affinity_group), ('max_bit_rate_requirements', max_bit_rate_requirements), ('min_bit_rate_requirements', min_bit_rate_requirements), ('virtual_link_protocol_data', virtual_link_protocol_data), ])

15574

15575

15576 class yc_vdu_level_etsi_nfv_vnfd__vnfd_df_instantiation_level_vdu_level(PybindBase):

15577 """

15578 This class was auto-generated by the PythonClass plugin for PYANG

15579 from YANG module etsi-nfv-vnfd - based on the path /vnfd/df/instantiation-level/vdu-level. Each member element of

15580 the container is represented as a class variable - with a specific

15581 YANG type.

15582

15583 YANG Description: Sets the number of instances for the VDU in this

15584 instantiation level.

15585 """

15586 __slots__ = ('_path_helper', '_extmethods', '__vdu_id','__number_of_instances',)

15587

15588 _yang_name = 'vdu-level'

15589 _yang_namespace = 'urn:etsi:nfv:yang:etsi-nfv-vnfd'

15590

15591 _pybind_generated_by = 'container'

15592

15593 def __init__(self, *args, **kwargs):

15594

15595 self._path_helper = False

15596

15597 self._extmethods = False

15598 self.__vdu_id = YANGDynClass(base=str, is_leaf=True, yang_name="vdu-id", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, is_keyval=True, namespace='urn:etsi:nfv:yang:etsi-nfv-vnfd', defining_module='etsi-nfv-vnfd', yang_type='leafref', is_config=True)

15599 self.__number_of_instances = YANGDynClass(base=RestrictedClassType(base_type=int, restriction_dict={'range': ['0..65535']},int_size=16), default=RestrictedClassType(base_type=int, restriction_dict={'range': ['0..65535']},int_size=16)(1), is_leaf=True, yang_name="number-of-instances", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='urn:etsi:nfv:yang:etsi-nfv-vnfd', defining_module='etsi-nfv-vnfd', yang_type='uint16', is_config=True)

15600

15601 load = kwargs.pop("load", None)

15602 if args:

15603 if len(args) > 1:

15604 raise TypeError("cannot create a YANG container with >1 argument")

15605 all_attr = True

15606 for e in self._pyangbind_elements:

15607 if not hasattr(args[0], e):

15608 all_attr = False

15609 break

15610 if not all_attr:

15611 raise ValueError("Supplied object did not have the correct attributes")

15612 for e in self._pyangbind_elements:

15613 nobj = getattr(args[0], e)

15614 if nobj._changed() is False:

15615 continue

15616 setmethod = getattr(self, "_set_%s" % e)

15617 if load is None:

15618 setmethod(getattr(args[0], e))

15619 else:

15620 setmethod(getattr(args[0], e), load=load)

15621

15622 def _path(self):

15623 if hasattr(self, "_parent"):

15624 return self._parent._path()+[self._yang_name]

15625 else:

15626 return ['vnfd', 'df', 'instantiation-level', 'vdu-level']

15627

15628 def _get_vdu_id(self):

15629 """

15630 Getter method for vdu_id, mapped from YANG variable /vnfd/df/instantiation_level/vdu_level/vdu_id (leafref)

15631

15632 YANG Description: Uniquely identifies a VDU.

15633 """

15634 return self.__vdu_id

15635

15636 def _set_vdu_id(self, v, load=False):

15637 """

15638 Setter method for vdu_id, mapped from YANG variable /vnfd/df/instantiation_level/vdu_level/vdu_id (leafref)

15639 If this variable is read-only (config: false) in the

15640 source YANG file, then _set_vdu_id is considered as a private

15641 method. Backends looking to populate this variable should

15642 do so via calling thisObj._set_vdu_id() directly.

15643

15644 YANG Description: Uniquely identifies a VDU.

15645 """

15646 parent = getattr(self, "_parent", None)

15647 if parent is not None and load is False:

15648 raise AttributeError("Cannot set keys directly when" +

15649 " within an instantiated list")

15650

15651 if hasattr(v, "_utype"):

15652 v = v._utype(v)

15653 try:

15654 t = YANGDynClass(v,base=str, is_leaf=True, yang_name="vdu-id", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, is_keyval=True, namespace='urn:etsi:nfv:yang:etsi-nfv-vnfd', defining_module='etsi-nfv-vnfd', yang_type='leafref', is_config=True)

15655 except (TypeError, ValueError):

15656 raise ValueError({

15657 'error-string': """vdu_id must be of a type compatible with leafref""",

15658 'defined-type': "leafref",

15659 'generated-type': """YANGDynClass(base=str, is_leaf=True, yang_name="vdu-id", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, is_keyval=True, namespace='urn:etsi:nfv:yang:etsi-nfv-vnfd', defining_module='etsi-nfv-vnfd', yang_type='leafref', is_config=True)""",

15660 })

15661

15662 self.__vdu_id = t

15663 if hasattr(self, '_set'):

15664 self._set()

15665

15666 def _unset_vdu_id(self):

15667 self.__vdu_id = YANGDynClass(base=str, is_leaf=True, yang_name="vdu-id", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, is_keyval=True, namespace='urn:etsi:nfv:yang:etsi-nfv-vnfd', defining_module='etsi-nfv-vnfd', yang_type='leafref', is_config=True)

15668

15669

15670 def _get_number_of_instances(self):

15671 """

15672 Getter method for number_of_instances, mapped from YANG variable /vnfd/df/instantiation_level/vdu_level/number_of_instances (uint16)

15673

15674 YANG Description: Number of instances of VNFC based on this VDU to

15675 deploy for this level.

15676 """

15677 return self.__number_of_instances

15678

15679 def _set_number_of_instances(self, v, load=False):

15680 """

15681 Setter method for number_of_instances, mapped from YANG variable /vnfd/df/instantiation_level/vdu_level/number_of_instances (uint16)

15682 If this variable is read-only (config: false) in the

15683 source YANG file, then _set_number_of_instances is considered as a private

15684 method. Backends looking to populate this variable should

15685 do so via calling thisObj._set_number_of_instances() directly.

15686

15687 YANG Description: Number of instances of VNFC based on this VDU to

15688 deploy for this level.

15689 """

15690 if hasattr(v, "_utype"):

15691 v = v._utype(v)

15692 try:

15693 t = YANGDynClass(v,base=RestrictedClassType(base_type=int, restriction_dict={'range': ['0..65535']},int_size=16), default=RestrictedClassType(base_type=int, restriction_dict={'range': ['0..65535']},int_size=16)(1), is_leaf=True, yang_name="number-of-instances", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='urn:etsi:nfv:yang:etsi-nfv-vnfd', defining_module='etsi-nfv-vnfd', yang_type='uint16', is_config=True)

15694 except (TypeError, ValueError):

15695 raise ValueError({

15696 'error-string': """number_of_instances must be of a type compatible with uint16""",

15697 'defined-type': "uint16",

15698 'generated-type': """YANGDynClass(base=RestrictedClassType(base_type=int, restriction_dict={'range': ['0..65535']},int_size=16), default=RestrictedClassType(base_type=int, restriction_dict={'range': ['0..65535']},int_size=16)(1), is_leaf=True, yang_name="number-of-instances", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='urn:etsi:nfv:yang:etsi-nfv-vnfd', defining_module='etsi-nfv-vnfd', yang_type='uint16', is_config=True)""",

15699 })

15700

15701 self.__number_of_instances = t

15702 if hasattr(self, '_set'):

15703 self._set()

15704

15705 def _unset_number_of_instances(self):

15706 self.__number_of_instances = YANGDynClass(base=RestrictedClassType(base_type=int, restriction_dict={'range': ['0..65535']},int_size=16), default=RestrictedClassType(base_type=int, restriction_dict={'range': ['0..65535']},int_size=16)(1), is_leaf=True, yang_name="number-of-instances", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='urn:etsi:nfv:yang:etsi-nfv-vnfd', defining_module='etsi-nfv-vnfd', yang_type='uint16', is_config=True)

15707

15708 vdu_id = __builtin__.property(_get_vdu_id, _set_vdu_id)

15709 number_of_instances = __builtin__.property(_get_number_of_instances, _set_number_of_instances)

15710

15711

15712 _pyangbind_elements = OrderedDict([('vdu_id', vdu_id), ('number_of_instances', number_of_instances), ])

15713

15714

15715 class yc_scaling_info_etsi_nfv_vnfd__vnfd_df_instantiation_level_scaling_info(PybindBase):

15716 """

15717 This class was auto-generated by the PythonClass plugin for PYANG

15718 from YANG module etsi-nfv-vnfd - based on the path /vnfd/df/instantiation-level/scaling-info. Each member element of

15719 the container is represented as a class variable - with a specific

15720 YANG type.

15721

15722 YANG Description: The InstantiationLevel information element describes a

15723 given level of resources to be instantiated within a

15724 DF in term of the number of VNFC instances to be

15725 created from each VDU.

15726 """

15727 __slots__ = ('_path_helper', '_extmethods', '__scaling_aspect_id','__scale_level',)

15728

15729 _yang_name = 'scaling-info'

15730 _yang_namespace = 'urn:etsi:nfv:yang:etsi-nfv-vnfd'

15731

15732 _pybind_generated_by = 'container'

15733

15734 def __init__(self, *args, **kwargs):

15735

15736 self._path_helper = False

15737

15738 self._extmethods = False

15739 self.__scaling_aspect_id = YANGDynClass(base=str, is_leaf=True, yang_name="scaling-aspect-id", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, is_keyval=True, namespace='urn:etsi:nfv:yang:etsi-nfv-vnfd', defining_module='etsi-nfv-vnfd', yang_type='leafref', is_config=True)

15740 self.__scale_level = YANGDynClass(base=RestrictedClassType(base_type=long, restriction_dict={'range': ['0..4294967295']}, int_size=32), is_leaf=True, yang_name="scale-level", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='urn:etsi:nfv:yang:etsi-nfv-vnfd', defining_module='etsi-nfv-vnfd', yang_type='uint32', is_config=True)

15741

15742 load = kwargs.pop("load", None)

15743 if args:

15744 if len(args) > 1:

15745 raise TypeError("cannot create a YANG container with >1 argument")

15746 all_attr = True

15747 for e in self._pyangbind_elements:

15748 if not hasattr(args[0], e):

15749 all_attr = False

15750 break

15751 if not all_attr:

15752 raise ValueError("Supplied object did not have the correct attributes")

15753 for e in self._pyangbind_elements:

15754 nobj = getattr(args[0], e)

15755 if nobj._changed() is False:

15756 continue

15757 setmethod = getattr(self, "_set_%s" % e)

15758 if load is None:

15759 setmethod(getattr(args[0], e))

15760 else:

15761 setmethod(getattr(args[0], e), load=load)

15762

15763 def _path(self):

15764 if hasattr(self, "_parent"):

15765 return self._parent._path()+[self._yang_name]

15766 else:

15767 return ['vnfd', 'df', 'instantiation-level', 'scaling-info']

15768

15769 def _get_scaling_aspect_id(self):

15770 """

15771 Getter method for scaling_aspect_id, mapped from YANG variable /vnfd/df/instantiation_level/scaling_info/scaling_aspect_id (leafref)

15772

15773 YANG Description: Identifier of the scaling aspect.

15774 """

15775 return self.__scaling_aspect_id

15776

15777 def _set_scaling_aspect_id(self, v, load=False):

15778 """

15779 Setter method for scaling_aspect_id, mapped from YANG variable /vnfd/df/instantiation_level/scaling_info/scaling_aspect_id (leafref)

15780 If this variable is read-only (config: false) in the

15781 source YANG file, then _set_scaling_aspect_id is considered as a private

15782 method. Backends looking to populate this variable should

15783 do so via calling thisObj._set_scaling_aspect_id() directly.

15784

15785 YANG Description: Identifier of the scaling aspect.

15786 """

15787 parent = getattr(self, "_parent", None)

15788 if parent is not None and load is False:

15789 raise AttributeError("Cannot set keys directly when" +

15790 " within an instantiated list")

15791

15792 if hasattr(v, "_utype"):

15793 v = v._utype(v)

15794 try:

15795 t = YANGDynClass(v,base=str, is_leaf=True, yang_name="scaling-aspect-id", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, is_keyval=True, namespace='urn:etsi:nfv:yang:etsi-nfv-vnfd', defining_module='etsi-nfv-vnfd', yang_type='leafref', is_config=True)

15796 except (TypeError, ValueError):

15797 raise ValueError({

15798 'error-string': """scaling_aspect_id must be of a type compatible with leafref""",

15799 'defined-type': "leafref",

15800 'generated-type': """YANGDynClass(base=str, is_leaf=True, yang_name="scaling-aspect-id", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, is_keyval=True, namespace='urn:etsi:nfv:yang:etsi-nfv-vnfd', defining_module='etsi-nfv-vnfd', yang_type='leafref', is_config=True)""",

15801 })

15802

15803 self.__scaling_aspect_id = t

15804 if hasattr(self, '_set'):

15805 self._set()

15806

15807 def _unset_scaling_aspect_id(self):

15808 self.__scaling_aspect_id = YANGDynClass(base=str, is_leaf=True, yang_name="scaling-aspect-id", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, is_keyval=True, namespace='urn:etsi:nfv:yang:etsi-nfv-vnfd', defining_module='etsi-nfv-vnfd', yang_type='leafref', is_config=True)

15809

15810

15811 def _get_scale_level(self):

15812 """

15813 Getter method for scale_level, mapped from YANG variable /vnfd/df/instantiation_level/scaling_info/scale_level (uint32)

15814

15815 YANG Description: The scale level, greater than or equal to 0.

15816 """

15817 return self.__scale_level

15818

15819 def _set_scale_level(self, v, load=False):

15820 """

15821 Setter method for scale_level, mapped from YANG variable /vnfd/df/instantiation_level/scaling_info/scale_level (uint32)

15822 If this variable is read-only (config: false) in the

15823 source YANG file, then _set_scale_level is considered as a private

15824 method. Backends looking to populate this variable should

15825 do so via calling thisObj._set_scale_level() directly.

15826

15827 YANG Description: The scale level, greater than or equal to 0.

15828 """

15829 if hasattr(v, "_utype"):

15830 v = v._utype(v)

15831 try:

15832 t = YANGDynClass(v,base=RestrictedClassType(base_type=long, restriction_dict={'range': ['0..4294967295']}, int_size=32), is_leaf=True, yang_name="scale-level", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='urn:etsi:nfv:yang:etsi-nfv-vnfd', defining_module='etsi-nfv-vnfd', yang_type='uint32', is_config=True)

15833 except (TypeError, ValueError):

15834 raise ValueError({

15835 'error-string': """scale_level must be of a type compatible with uint32""",

15836 'defined-type': "uint32",

15837 'generated-type': """YANGDynClass(base=RestrictedClassType(base_type=long, restriction_dict={'range': ['0..4294967295']}, int_size=32), is_leaf=True, yang_name="scale-level", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='urn:etsi:nfv:yang:etsi-nfv-vnfd', defining_module='etsi-nfv-vnfd', yang_type='uint32', is_config=True)""",

15838 })

15839

15840 self.__scale_level = t

15841 if hasattr(self, '_set'):

15842 self._set()

15843

15844 def _unset_scale_level(self):

15845 self.__scale_level = YANGDynClass(base=RestrictedClassType(base_type=long, restriction_dict={'range': ['0..4294967295']}, int_size=32), is_leaf=True, yang_name="scale-level", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='urn:etsi:nfv:yang:etsi-nfv-vnfd', defining_module='etsi-nfv-vnfd', yang_type='uint32', is_config=True)

15846

15847 scaling_aspect_id = __builtin__.property(_get_scaling_aspect_id, _set_scaling_aspect_id)

15848 scale_level = __builtin__.property(_get_scale_level, _set_scale_level)

15849

15850

15851 _pyangbind_elements = OrderedDict([('scaling_aspect_id', scaling_aspect_id), ('scale_level', scale_level), ])

15852

15853

15854 class yc_instantiation_level_etsi_nfv_vnfd__vnfd_df_instantiation_level(PybindBase):

15855 """

15856 This class was auto-generated by the PythonClass plugin for PYANG

15857 from YANG module etsi-nfv-vnfd - based on the path /vnfd/df/instantiation-level. Each member element of

15858 the container is represented as a class variable - with a specific

15859 YANG type.

15860

15861 YANG Description: Describes the various levels of resources that can be

15862 used to instantiate the VNF using this flavour.

15863 Examples: Small, Medium, Large. If there is only one

15864'instantiationLevel' entry, it shall be treated as the

15865 default instantiation level for this DF.

15866

15867 The InstantiationLevel information element describes a

15868 given level of resources to be instantiated within a

15869 deployment flavour in term of the number of VNFC instances

15870 to be created from each VDU.

15871 All the VDUs referenced in the level shall be part of the

15872 corresponding deployment flavour and their number shall

15873 be within the range (min/max) for this deployment flavour.

15874 """

15875 __slots__ = ('_path_helper', '_extmethods', '__id','__description','__vdu_level','__scaling_info',)

15876

15877 _yang_name = 'instantiation-level'

15878 _yang_namespace = 'urn:etsi:nfv:yang:etsi-nfv-vnfd'

15879

15880 _pybind_generated_by = 'container'

15881

15882 def __init__(self, *args, **kwargs):

15883

15884 self._path_helper = False

15885

15886 self._extmethods = False

15887 self.__id = YANGDynClass(base=str, is_leaf=True, yang_name="id", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, is_keyval=True, namespace='urn:etsi:nfv:yang:etsi-nfv-vnfd', defining_module='etsi-nfv-vnfd', yang_type='string', is_config=True)

15888 self.__description = YANGDynClass(base=str, is_leaf=True, yang_name="description", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='urn:etsi:nfv:yang:etsi-nfv-vnfd', defining_module='etsi-nfv-vnfd', yang_type='string', is_config=True)

15889 self.__vdu_level = YANGDynClass(base=YANGListType("vdu_id",yc_vdu_level_etsi_nfv_vnfd__vnfd_df_instantiation_level_vdu_level, yang_name="vdu-level", parent=self, is_container='list', user_ordered=False, path_helper=self._path_helper, yang_keys='vdu-id', extensions=None), is_container='list', yang_name="vdu-level", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, extensions=None, namespace='urn:etsi:nfv:yang:etsi-nfv-vnfd', defining_module='etsi-nfv-vnfd', yang_type='list', is_config=True)

15890 self.__scaling_info = YANGDynClass(base=YANGListType("scaling_aspect_id",yc_scaling_info_etsi_nfv_vnfd__vnfd_df_instantiation_level_scaling_info, yang_name="scaling-info", parent=self, is_container='list', user_ordered=False, path_helper=self._path_helper, yang_keys='scaling-aspect-id', extensions=None), is_container='list', yang_name="scaling-info", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, extensions=None, namespace='urn:etsi:nfv:yang:etsi-nfv-vnfd', defining_module='etsi-nfv-vnfd', yang_type='list', is_config=True)

15891

15892 load = kwargs.pop("load", None)

15893 if args:

15894 if len(args) > 1:

15895 raise TypeError("cannot create a YANG container with >1 argument")

15896 all_attr = True

15897 for e in self._pyangbind_elements:

15898 if not hasattr(args[0], e):

15899 all_attr = False

15900 break

15901 if not all_attr:

15902 raise ValueError("Supplied object did not have the correct attributes")

15903 for e in self._pyangbind_elements:

15904 nobj = getattr(args[0], e)

15905 if nobj._changed() is False:

15906 continue

15907 setmethod = getattr(self, "_set_%s" % e)

15908 if load is None:

15909 setmethod(getattr(args[0], e))

15910 else:

15911 setmethod(getattr(args[0], e), load=load)

15912

15913 def _path(self):

15914 if hasattr(self, "_parent"):

15915 return self._parent._path()+[self._yang_name]

15916 else:

15917 return ['vnfd', 'df', 'instantiation-level']

15918

15919 def _get_id(self):

15920 """

15921 Getter method for id, mapped from YANG variable /vnfd/df/instantiation_level/id (string)

15922

15923 YANG Description: Uniquely identifies a level with the DF.

15924 """

15925 return self.__id

15926

15927 def _set_id(self, v, load=False):

15928 """

15929 Setter method for id, mapped from YANG variable /vnfd/df/instantiation_level/id (string)

15930 If this variable is read-only (config: false) in the

15931 source YANG file, then _set_id is considered as a private

15932 method. Backends looking to populate this variable should

15933 do so via calling thisObj._set_id() directly.

15934

15935 YANG Description: Uniquely identifies a level with the DF.

15936 """

15937 parent = getattr(self, "_parent", None)

15938 if parent is not None and load is False:

15939 raise AttributeError("Cannot set keys directly when" +

15940 " within an instantiated list")

15941

15942 if hasattr(v, "_utype"):

15943 v = v._utype(v)

15944 try:

15945 t = YANGDynClass(v,base=str, is_leaf=True, yang_name="id", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, is_keyval=True, namespace='urn:etsi:nfv:yang:etsi-nfv-vnfd', defining_module='etsi-nfv-vnfd', yang_type='string', is_config=True)

15946 except (TypeError, ValueError):

15947 raise ValueError({

15948 'error-string': """id must be of a type compatible with string""",

15949 'defined-type': "string",

15950 'generated-type': """YANGDynClass(base=str, is_leaf=True, yang_name="id", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, is_keyval=True, namespace='urn:etsi:nfv:yang:etsi-nfv-vnfd', defining_module='etsi-nfv-vnfd', yang_type='string', is_config=True)""",

15951 })

15952

15953 self.__id = t

15954 if hasattr(self, '_set'):

15955 self._set()

15956

15957 def _unset_id(self):

15958 self.__id = YANGDynClass(base=str, is_leaf=True, yang_name="id", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, is_keyval=True, namespace='urn:etsi:nfv:yang:etsi-nfv-vnfd', defining_module='etsi-nfv-vnfd', yang_type='string', is_config=True)

15959

15960

15961 def _get_description(self):

15962 """

15963 Getter method for description, mapped from YANG variable /vnfd/df/instantiation_level/description (string)

15964

15965 YANG Description: Human readable description of the instantiation level

15966 """

15967 return self.__description

15968

15969 def _set_description(self, v, load=False):

15970 """

15971 Setter method for description, mapped from YANG variable /vnfd/df/instantiation_level/description (string)

15972 If this variable is read-only (config: false) in the

15973 source YANG file, then _set_description is considered as a private

15974 method. Backends looking to populate this variable should

15975 do so via calling thisObj._set_description() directly.

15976

15977 YANG Description: Human readable description of the instantiation level

15978 """

15979 if hasattr(v, "_utype"):

15980 v = v._utype(v)

15981 try:

15982 t = YANGDynClass(v,base=str, is_leaf=True, yang_name="description", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='urn:etsi:nfv:yang:etsi-nfv-vnfd', defining_module='etsi-nfv-vnfd', yang_type='string', is_config=True)

15983 except (TypeError, ValueError):

15984 raise ValueError({

15985 'error-string': """description must be of a type compatible with string""",

15986 'defined-type': "string",

15987 'generated-type': """YANGDynClass(base=str, is_leaf=True, yang_name="description", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='urn:etsi:nfv:yang:etsi-nfv-vnfd', defining_module='etsi-nfv-vnfd', yang_type='string', is_config=True)""",

15988 })

15989

15990 self.__description = t

15991 if hasattr(self, '_set'):

15992 self._set()

15993

15994 def _unset_description(self):

15995 self.__description = YANGDynClass(base=str, is_leaf=True, yang_name="description", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='urn:etsi:nfv:yang:etsi-nfv-vnfd', defining_module='etsi-nfv-vnfd', yang_type='string', is_config=True)

15996

15997

15998 def _get_vdu_level(self):

15999 """

16000 Getter method for vdu_level, mapped from YANG variable /vnfd/df/instantiation_level/vdu_level (list)

16001

16002 YANG Description: Sets the number of instances for the VDU in this

16003 instantiation level.

16004 """

16005 return self.__vdu_level

16006

16007 def _set_vdu_level(self, v, load=False):

16008 """

16009 Setter method for vdu_level, mapped from YANG variable /vnfd/df/instantiation_level/vdu_level (list)

16010 If this variable is read-only (config: false) in the

16011 source YANG file, then _set_vdu_level is considered as a private

16012 method. Backends looking to populate this variable should

16013 do so via calling thisObj._set_vdu_level() directly.

16014

16015 YANG Description: Sets the number of instances for the VDU in this

16016 instantiation level.

16017 """

16018 if hasattr(v, "_utype"):

16019 v = v._utype(v)

16020 try:

16021 t = YANGDynClass(v,base=YANGListType("vdu_id",yc_vdu_level_etsi_nfv_vnfd__vnfd_df_instantiation_level_vdu_level, yang_name="vdu-level", parent=self, is_container='list', user_ordered=False, path_helper=self._path_helper, yang_keys='vdu-id', extensions=None), is_container='list', yang_name="vdu-level", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, extensions=None, namespace='urn:etsi:nfv:yang:etsi-nfv-vnfd', defining_module='etsi-nfv-vnfd', yang_type='list', is_config=True)

16022 except (TypeError, ValueError):

16023 raise ValueError({

16024 'error-string': """vdu_level must be of a type compatible with list""",

16025 'defined-type': "list",

16026 'generated-type': """YANGDynClass(base=YANGListType("vdu_id",yc_vdu_level_etsi_nfv_vnfd__vnfd_df_instantiation_level_vdu_level, yang_name="vdu-level", parent=self, is_container='list', user_ordered=False, path_helper=self._path_helper, yang_keys='vdu-id', extensions=None), is_container='list', yang_name="vdu-level", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, extensions=None, namespace='urn:etsi:nfv:yang:etsi-nfv-vnfd', defining_module='etsi-nfv-vnfd', yang_type='list', is_config=True)""",

16027 })

16028

16029 self.__vdu_level = t

16030 if hasattr(self, '_set'):

16031 self._set()

16032

16033 def _unset_vdu_level(self):

16034 self.__vdu_level = YANGDynClass(base=YANGListType("vdu_id",yc_vdu_level_etsi_nfv_vnfd__vnfd_df_instantiation_level_vdu_level, yang_name="vdu-level", parent=self, is_container='list', user_ordered=False, path_helper=self._path_helper, yang_keys='vdu-id', extensions=None), is_container='list', yang_name="vdu-level", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, extensions=None, namespace='urn:etsi:nfv:yang:etsi-nfv-vnfd', defining_module='etsi-nfv-vnfd', yang_type='list', is_config=True)

16035

16036

16037 def _get_scaling_info(self):

16038 """

16039 Getter method for scaling_info, mapped from YANG variable /vnfd/df/instantiation_level/scaling_info (list)

16040

16041 YANG Description: The InstantiationLevel information element describes a

16042 given level of resources to be instantiated within a

16043 DF in term of the number of VNFC instances to be

16044 created from each VDU.

16045 """

16046 return self.__scaling_info

16047

16048 def _set_scaling_info(self, v, load=False):

16049 """

16050 Setter method for scaling_info, mapped from YANG variable /vnfd/df/instantiation_level/scaling_info (list)

16051 If this variable is read-only (config: false) in the

16052 source YANG file, then _set_scaling_info is considered as a private

16053 method. Backends looking to populate this variable should

16054 do so via calling thisObj._set_scaling_info() directly.

16055

16056 YANG Description: The InstantiationLevel information element describes a

16057 given level of resources to be instantiated within a

16058 DF in term of the number of VNFC instances to be

16059 created from each VDU.

16060 """

16061 if hasattr(v, "_utype"):

16062 v = v._utype(v)

16063 try:

16064 t = YANGDynClass(v,base=YANGListType("scaling_aspect_id",yc_scaling_info_etsi_nfv_vnfd__vnfd_df_instantiation_level_scaling_info, yang_name="scaling-info", parent=self, is_container='list', user_ordered=False, path_helper=self._path_helper, yang_keys='scaling-aspect-id', extensions=None), is_container='list', yang_name="scaling-info", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, extensions=None, namespace='urn:etsi:nfv:yang:etsi-nfv-vnfd', defining_module='etsi-nfv-vnfd', yang_type='list', is_config=True)

16065 except (TypeError, ValueError):

16066 raise ValueError({

16067 'error-string': """scaling_info must be of a type compatible with list""",

16068 'defined-type': "list",

16069 'generated-type': """YANGDynClass(base=YANGListType("scaling_aspect_id",yc_scaling_info_etsi_nfv_vnfd__vnfd_df_instantiation_level_scaling_info, yang_name="scaling-info", parent=self, is_container='list', user_ordered=False, path_helper=self._path_helper, yang_keys='scaling-aspect-id', extensions=None), is_container='list', yang_name="scaling-info", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, extensions=None, namespace='urn:etsi:nfv:yang:etsi-nfv-vnfd', defining_module='etsi-nfv-vnfd', yang_type='list', is_config=True)""",

16070 })

16071

16072 self.__scaling_info = t

16073 if hasattr(self, '_set'):

16074 self._set()

16075

16076 def _unset_scaling_info(self):

16077 self.__scaling_info = YANGDynClass(base=YANGListType("scaling_aspect_id",yc_scaling_info_etsi_nfv_vnfd__vnfd_df_instantiation_level_scaling_info, yang_name="scaling-info", parent=self, is_container='list', user_ordered=False, path_helper=self._path_helper, yang_keys='scaling-aspect-id', extensions=None), is_container='list', yang_name="scaling-info", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, extensions=None, namespace='urn:etsi:nfv:yang:etsi-nfv-vnfd', defining_module='etsi-nfv-vnfd', yang_type='list', is_config=True)

16078

16079 id = __builtin__.property(_get_id, _set_id)

16080 description = __builtin__.property(_get_description, _set_description)

16081 vdu_level = __builtin__.property(_get_vdu_level, _set_vdu_level)

16082 scaling_info = __builtin__.property(_get_scaling_info, _set_scaling_info)

16083

16084

16085 _pyangbind_elements = OrderedDict([('id', id), ('description', description), ('vdu_level', vdu_level), ('scaling_info', scaling_info), ])

16086

16087

16088 class yc_parameter_etsi_nfv_vnfd__vnfd_df_lcm_operations_configuration_instantiate_vnf_op_config_parameter(PybindBase):

16089 """

16090 This class was auto-generated by the PythonClass plugin for PYANG

16091 from YANG module etsi-nfv-vnfd - based on the path /vnfd/df/lcm-operations-configuration/instantiate-vnf-op-config/parameter. Each member element of

16092 the container is represented as a class variable - with a specific

16093 YANG type.

16094

16095 YANG Description: Array of KVP requirements for VNF-specific parameters

16096 to be passed when invoking the InstantiateVnf

16097 operation.

16098 """

16099 __slots__ = ('_path_helper', '_extmethods', '__key','__value',)

16100

16101 _yang_name = 'parameter'

16102 _yang_namespace = 'urn:etsi:nfv:yang:etsi-nfv-vnfd'

16103

16104 _pybind_generated_by = 'container'

16105

16106 def __init__(self, *args, **kwargs):

16107

16108 self._path_helper = False

16109

16110 self._extmethods = False

16111 self.__key = YANGDynClass(base=str, is_leaf=True, yang_name="key", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, is_keyval=True, namespace='urn:etsi:nfv:yang:etsi-nfv-vnfd', defining_module='etsi-nfv-vnfd', yang_type='string', is_config=True)

16112 self.__value = YANGDynClass(base=str, is_leaf=True, yang_name="value", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='urn:etsi:nfv:yang:etsi-nfv-vnfd', defining_module='etsi-nfv-vnfd', yang_type='string', is_config=True)

16113

16114 load = kwargs.pop("load", None)

16115 if args:

16116 if len(args) > 1:

16117 raise TypeError("cannot create a YANG container with >1 argument")

16118 all_attr = True

16119 for e in self._pyangbind_elements:

16120 if not hasattr(args[0], e):

16121 all_attr = False

16122 break

16123 if not all_attr:

16124 raise ValueError("Supplied object did not have the correct attributes")

16125 for e in self._pyangbind_elements:

16126 nobj = getattr(args[0], e)

16127 if nobj._changed() is False:

16128 continue

16129 setmethod = getattr(self, "_set_%s" % e)

16130 if load is None:

16131 setmethod(getattr(args[0], e))

16132 else:

16133 setmethod(getattr(args[0], e), load=load)

16134

16135 def _path(self):

16136 if hasattr(self, "_parent"):

16137 return self._parent._path()+[self._yang_name]

16138 else:

16139 return ['vnfd', 'df', 'lcm-operations-configuration', 'instantiate-vnf-op-config', 'parameter']

16140

16141 def _get_key(self):

16142 """

16143 Getter method for key, mapped from YANG variable /vnfd/df/lcm_operations_configuration/instantiate_vnf_op_config/parameter/key (string)

16144 """

16145 return self.__key

16146

16147 def _set_key(self, v, load=False):

16148 """

16149 Setter method for key, mapped from YANG variable /vnfd/df/lcm_operations_configuration/instantiate_vnf_op_config/parameter/key (string)

16150 If this variable is read-only (config: false) in the

16151 source YANG file, then _set_key is considered as a private

16152 method. Backends looking to populate this variable should

16153 do so via calling thisObj._set_key() directly.

16154 """

16155 parent = getattr(self, "_parent", None)

16156 if parent is not None and load is False:

16157 raise AttributeError("Cannot set keys directly when" +

16158 " within an instantiated list")

16159

16160 if hasattr(v, "_utype"):

16161 v = v._utype(v)

16162 try:

16163 t = YANGDynClass(v,base=str, is_leaf=True, yang_name="key", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, is_keyval=True, namespace='urn:etsi:nfv:yang:etsi-nfv-vnfd', defining_module='etsi-nfv-vnfd', yang_type='string', is_config=True)

16164 except (TypeError, ValueError):

16165 raise ValueError({

16166 'error-string': """key must be of a type compatible with string""",

16167 'defined-type': "string",

16168 'generated-type': """YANGDynClass(base=str, is_leaf=True, yang_name="key", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, is_keyval=True, namespace='urn:etsi:nfv:yang:etsi-nfv-vnfd', defining_module='etsi-nfv-vnfd', yang_type='string', is_config=True)""",

16169 })

16170

16171 self.__key = t

16172 if hasattr(self, '_set'):

16173 self._set()

16174

16175 def _unset_key(self):

16176 self.__key = YANGDynClass(base=str, is_leaf=True, yang_name="key", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, is_keyval=True, namespace='urn:etsi:nfv:yang:etsi-nfv-vnfd', defining_module='etsi-nfv-vnfd', yang_type='string', is_config=True)

16177

16178

16179 def _get_value(self):

16180 """

16181 Getter method for value, mapped from YANG variable /vnfd/df/lcm_operations_configuration/instantiate_vnf_op_config/parameter/value (string)

16182 """

16183 return self.__value

16184

16185 def _set_value(self, v, load=False):

16186 """

16187 Setter method for value, mapped from YANG variable /vnfd/df/lcm_operations_configuration/instantiate_vnf_op_config/parameter/value (string)

16188 If this variable is read-only (config: false) in the

16189 source YANG file, then _set_value is considered as a private

16190 method. Backends looking to populate this variable should

16191 do so via calling thisObj._set_value() directly.

16192 """

16193 if hasattr(v, "_utype"):

16194 v = v._utype(v)

16195 try:

16196 t = YANGDynClass(v,base=str, is_leaf=True, yang_name="value", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='urn:etsi:nfv:yang:etsi-nfv-vnfd', defining_module='etsi-nfv-vnfd', yang_type='string', is_config=True)

16197 except (TypeError, ValueError):

16198 raise ValueError({

16199 'error-string': """value must be of a type compatible with string""",

16200 'defined-type': "string",

16201 'generated-type': """YANGDynClass(base=str, is_leaf=True, yang_name="value", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='urn:etsi:nfv:yang:etsi-nfv-vnfd', defining_module='etsi-nfv-vnfd', yang_type='string', is_config=True)""",

16202 })

16203

16204 self.__value = t

16205 if hasattr(self, '_set'):

16206 self._set()

16207

16208 def _unset_value(self):

16209 self.__value = YANGDynClass(base=str, is_leaf=True, yang_name="value", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='urn:etsi:nfv:yang:etsi-nfv-vnfd', defining_module='etsi-nfv-vnfd', yang_type='string', is_config=True)

16210

16211 key = __builtin__.property(_get_key, _set_key)

16212 value = __builtin__.property(_get_value, _set_value)

16213

16214

16215 _pyangbind_elements = OrderedDict([('key', key), ('value', value), ])

16216

16217

16218 class yc_instantiate_vnf_op_config_etsi_nfv_vnfd__vnfd_df_lcm_operations_configuration_instantiate_vnf_op_config(PybindBase):

16219 """

16220 This class was auto-generated by the PythonClass plugin for PYANG

16221 from YANG module etsi-nfv-vnfd - based on the path /vnfd/df/lcm-operations-configuration/instantiate-vnf-op-config. Each member element of

16222 the container is represented as a class variable - with a specific

16223 YANG type.

16224

16225 YANG Description: Configuration parameters for the InstantiateVnf

16226 operation.

16227 """

16228 __slots__ = ('_path_helper', '_extmethods', '__parameter',)

16229

16230 _yang_name = 'instantiate-vnf-op-config'

16231 _yang_namespace = 'urn:etsi:nfv:yang:etsi-nfv-vnfd'

16232

16233 _pybind_generated_by = 'container'

16234

16235 def __init__(self, *args, **kwargs):

16236

16237 self._path_helper = False

16238

16239 self._extmethods = False

16240 self.__parameter = YANGDynClass(base=YANGListType("key",yc_parameter_etsi_nfv_vnfd__vnfd_df_lcm_operations_configuration_instantiate_vnf_op_config_parameter, yang_name="parameter", parent=self, is_container='list', user_ordered=False, path_helper=self._path_helper, yang_keys='key', extensions=None), is_container='list', yang_name="parameter", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, extensions=None, namespace='urn:etsi:nfv:yang:etsi-nfv-vnfd', defining_module='etsi-nfv-vnfd', yang_type='list', is_config=True)

16241

16242 load = kwargs.pop("load", None)

16243 if args:

16244 if len(args) > 1:

16245 raise TypeError("cannot create a YANG container with >1 argument")

16246 all_attr = True

16247 for e in self._pyangbind_elements:

16248 if not hasattr(args[0], e):

16249 all_attr = False

16250 break

16251 if not all_attr:

16252 raise ValueError("Supplied object did not have the correct attributes")

16253 for e in self._pyangbind_elements:

16254 nobj = getattr(args[0], e)

16255 if nobj._changed() is False:

16256 continue

16257 setmethod = getattr(self, "_set_%s" % e)

16258 if load is None:

16259 setmethod(getattr(args[0], e))

16260 else:

16261 setmethod(getattr(args[0], e), load=load)

16262

16263 def _path(self):

16264 if hasattr(self, "_parent"):

16265 return self._parent._path()+[self._yang_name]

16266 else:

16267 return ['vnfd', 'df', 'lcm-operations-configuration', 'instantiate-vnf-op-config']

16268

16269 def _get_parameter(self):

16270 """

16271 Getter method for parameter, mapped from YANG variable /vnfd/df/lcm_operations_configuration/instantiate_vnf_op_config/parameter (list)

16272

16273 YANG Description: Array of KVP requirements for VNF-specific parameters

16274 to be passed when invoking the InstantiateVnf

16275 operation.

16276 """

16277 return self.__parameter

16278

16279 def _set_parameter(self, v, load=False):

16280 """

16281 Setter method for parameter, mapped from YANG variable /vnfd/df/lcm_operations_configuration/instantiate_vnf_op_config/parameter (list)

16282 If this variable is read-only (config: false) in the

16283 source YANG file, then _set_parameter is considered as a private

16284 method. Backends looking to populate this variable should

16285 do so via calling thisObj._set_parameter() directly.

16286

16287 YANG Description: Array of KVP requirements for VNF-specific parameters

16288 to be passed when invoking the InstantiateVnf

16289 operation.

16290 """

16291 if hasattr(v, "_utype"):

16292 v = v._utype(v)

16293 try:

16294 t = YANGDynClass(v,base=YANGListType("key",yc_parameter_etsi_nfv_vnfd__vnfd_df_lcm_operations_configuration_instantiate_vnf_op_config_parameter, yang_name="parameter", parent=self, is_container='list', user_ordered=False, path_helper=self._path_helper, yang_keys='key', extensions=None), is_container='list', yang_name="parameter", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, extensions=None, namespace='urn:etsi:nfv:yang:etsi-nfv-vnfd', defining_module='etsi-nfv-vnfd', yang_type='list', is_config=True)

16295 except (TypeError, ValueError):

16296 raise ValueError({

16297 'error-string': """parameter must be of a type compatible with list""",

16298 'defined-type': "list",

16299 'generated-type': """YANGDynClass(base=YANGListType("key",yc_parameter_etsi_nfv_vnfd__vnfd_df_lcm_operations_configuration_instantiate_vnf_op_config_parameter, yang_name="parameter", parent=self, is_container='list', user_ordered=False, path_helper=self._path_helper, yang_keys='key', extensions=None), is_container='list', yang_name="parameter", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, extensions=None, namespace='urn:etsi:nfv:yang:etsi-nfv-vnfd', defining_module='etsi-nfv-vnfd', yang_type='list', is_config=True)""",

16300 })

16301

16302 self.__parameter = t

16303 if hasattr(self, '_set'):

16304 self._set()

16305

16306 def _unset_parameter(self):

16307 self.__parameter = YANGDynClass(base=YANGListType("key",yc_parameter_etsi_nfv_vnfd__vnfd_df_lcm_operations_configuration_instantiate_vnf_op_config_parameter, yang_name="parameter", parent=self, is_container='list', user_ordered=False, path_helper=self._path_helper, yang_keys='key', extensions=None), is_container='list', yang_name="parameter", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, extensions=None, namespace='urn:etsi:nfv:yang:etsi-nfv-vnfd', defining_module='etsi-nfv-vnfd', yang_type='list', is_config=True)

16308

16309 parameter = __builtin__.property(_get_parameter, _set_parameter)

16310

16311

16312 _pyangbind_elements = OrderedDict([('parameter', parameter), ])

16313

16314

16315 class yc_parameter_etsi_nfv_vnfd__vnfd_df_lcm_operations_configuration_scale_vnf_op_config_parameter(PybindBase):

16316 """

16317 This class was auto-generated by the PythonClass plugin for PYANG

16318 from YANG module etsi-nfv-vnfd - based on the path /vnfd/df/lcm-operations-configuration/scale-vnf-op-config/parameter. Each member element of

16319 the container is represented as a class variable - with a specific

16320 YANG type.

16321

16322 YANG Description: Array of KVP requirements for VNFspecific parameters

16323 to be passed when invoking the ScaleVnf operation.

16324 """

16325 __slots__ = ('_path_helper', '_extmethods', '__key','__value',)

16326

16327 _yang_name = 'parameter'

16328 _yang_namespace = 'urn:etsi:nfv:yang:etsi-nfv-vnfd'

16329

16330 _pybind_generated_by = 'container'

16331

16332 def __init__(self, *args, **kwargs):

16333

16334 self._path_helper = False

16335

16336 self._extmethods = False

16337 self.__key = YANGDynClass(base=str, is_leaf=True, yang_name="key", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, is_keyval=True, namespace='urn:etsi:nfv:yang:etsi-nfv-vnfd', defining_module='etsi-nfv-vnfd', yang_type='string', is_config=True)

16338 self.__value = YANGDynClass(base=str, is_leaf=True, yang_name="value", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='urn:etsi:nfv:yang:etsi-nfv-vnfd', defining_module='etsi-nfv-vnfd', yang_type='string', is_config=True)

16339

16340 load = kwargs.pop("load", None)

16341 if args:

16342 if len(args) > 1:

16343 raise TypeError("cannot create a YANG container with >1 argument")

16344 all_attr = True

16345 for e in self._pyangbind_elements:

16346 if not hasattr(args[0], e):

16347 all_attr = False

16348 break

16349 if not all_attr:

16350 raise ValueError("Supplied object did not have the correct attributes")

16351 for e in self._pyangbind_elements:

16352 nobj = getattr(args[0], e)

16353 if nobj._changed() is False:

16354 continue

16355 setmethod = getattr(self, "_set_%s" % e)

16356 if load is None:

16357 setmethod(getattr(args[0], e))

16358 else:

16359 setmethod(getattr(args[0], e), load=load)

16360

16361 def _path(self):

16362 if hasattr(self, "_parent"):

16363 return self._parent._path()+[self._yang_name]

16364 else:

16365 return ['vnfd', 'df', 'lcm-operations-configuration', 'scale-vnf-op-config', 'parameter']

16366

16367 def _get_key(self):

16368 """

16369 Getter method for key, mapped from YANG variable /vnfd/df/lcm_operations_configuration/scale_vnf_op_config/parameter/key (string)

16370 """

16371 return self.__key

16372

16373 def _set_key(self, v, load=False):

16374 """

16375 Setter method for key, mapped from YANG variable /vnfd/df/lcm_operations_configuration/scale_vnf_op_config/parameter/key (string)

16376 If this variable is read-only (config: false) in the

16377 source YANG file, then _set_key is considered as a private

16378 method. Backends looking to populate this variable should

16379 do so via calling thisObj._set_key() directly.

16380 """

16381 parent = getattr(self, "_parent", None)

16382 if parent is not None and load is False:

16383 raise AttributeError("Cannot set keys directly when" +

16384 " within an instantiated list")

16385

16386 if hasattr(v, "_utype"):

16387 v = v._utype(v)

16388 try:

16389 t = YANGDynClass(v,base=str, is_leaf=True, yang_name="key", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, is_keyval=True, namespace='urn:etsi:nfv:yang:etsi-nfv-vnfd', defining_module='etsi-nfv-vnfd', yang_type='string', is_config=True)

16390 except (TypeError, ValueError):

16391 raise ValueError({

16392 'error-string': """key must be of a type compatible with string""",

16393 'defined-type': "string",

16394 'generated-type': """YANGDynClass(base=str, is_leaf=True, yang_name="key", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, is_keyval=True, namespace='urn:etsi:nfv:yang:etsi-nfv-vnfd', defining_module='etsi-nfv-vnfd', yang_type='string', is_config=True)""",

16395 })

16396

16397 self.__key = t

16398 if hasattr(self, '_set'):

16399 self._set()

16400

16401 def _unset_key(self):

16402 self.__key = YANGDynClass(base=str, is_leaf=True, yang_name="key", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, is_keyval=True, namespace='urn:etsi:nfv:yang:etsi-nfv-vnfd', defining_module='etsi-nfv-vnfd', yang_type='string', is_config=True)

16403

16404

16405 def _get_value(self):

16406 """

16407 Getter method for value, mapped from YANG variable /vnfd/df/lcm_operations_configuration/scale_vnf_op_config/parameter/value (string)

16408 """

16409 return self.__value

16410

16411 def _set_value(self, v, load=False):

16412 """

16413 Setter method for value, mapped from YANG variable /vnfd/df/lcm_operations_configuration/scale_vnf_op_config/parameter/value (string)

16414 If this variable is read-only (config: false) in the

16415 source YANG file, then _set_value is considered as a private

16416 method. Backends looking to populate this variable should

16417 do so via calling thisObj._set_value() directly.

16418 """

16419 if hasattr(v, "_utype"):

16420 v = v._utype(v)

16421 try:

16422 t = YANGDynClass(v,base=str, is_leaf=True, yang_name="value", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='urn:etsi:nfv:yang:etsi-nfv-vnfd', defining_module='etsi-nfv-vnfd', yang_type='string', is_config=True)

16423 except (TypeError, ValueError):

16424 raise ValueError({

16425 'error-string': """value must be of a type compatible with string""",

16426 'defined-type': "string",

16427 'generated-type': """YANGDynClass(base=str, is_leaf=True, yang_name="value", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='urn:etsi:nfv:yang:etsi-nfv-vnfd', defining_module='etsi-nfv-vnfd', yang_type='string', is_config=True)""",

16428 })

16429

16430 self.__value = t

16431 if hasattr(self, '_set'):

16432 self._set()

16433

16434 def _unset_value(self):

16435 self.__value = YANGDynClass(base=str, is_leaf=True, yang_name="value", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='urn:etsi:nfv:yang:etsi-nfv-vnfd', defining_module='etsi-nfv-vnfd', yang_type='string', is_config=True)

16436

16437 key = __builtin__.property(_get_key, _set_key)

16438 value = __builtin__.property(_get_value, _set_value)

16439

16440

16441 _pyangbind_elements = OrderedDict([('key', key), ('value', value), ])

16442

16443

16444 class yc_scale_vnf_op_config_etsi_nfv_vnfd__vnfd_df_lcm_operations_configuration_scale_vnf_op_config(PybindBase):

16445 """

16446 This class was auto-generated by the PythonClass plugin for PYANG

16447 from YANG module etsi-nfv-vnfd - based on the path /vnfd/df/lcm-operations-configuration/scale-vnf-op-config. Each member element of

16448 the container is represented as a class variable - with a specific

16449 YANG type.

16450

16451 YANG Description: Configuration parameters for the ScaleVnf operation.

16452 """

16453 __slots__ = ('_path_helper', '_extmethods', '__parameter','__scaling_by_more_than_one_step_supported',)

16454

16455 _yang_name = 'scale-vnf-op-config'

16456 _yang_namespace = 'urn:etsi:nfv:yang:etsi-nfv-vnfd'

16457

16458 _pybind_generated_by = 'container'

16459

16460 def __init__(self, *args, **kwargs):

16461

16462 self._path_helper = False

16463

16464 self._extmethods = False

16465 self.__parameter = YANGDynClass(base=YANGListType("key",yc_parameter_etsi_nfv_vnfd__vnfd_df_lcm_operations_configuration_scale_vnf_op_config_parameter, yang_name="parameter", parent=self, is_container='list', user_ordered=False, path_helper=self._path_helper, yang_keys='key', extensions=None), is_container='list', yang_name="parameter", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, extensions=None, namespace='urn:etsi:nfv:yang:etsi-nfv-vnfd', defining_module='etsi-nfv-vnfd', yang_type='list', is_config=True)

16466 self.__scaling_by_more_than_one_step_supported = YANGDynClass(base=YANGBool, default=YANGBool("false"), is_leaf=True, yang_name="scaling-by-more-than-one-step-supported", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='urn:etsi:nfv:yang:etsi-nfv-vnfd', defining_module='etsi-nfv-vnfd', yang_type='boolean', is_config=True)

16467

16468 load = kwargs.pop("load", None)

16469 if args:

16470 if len(args) > 1:

16471 raise TypeError("cannot create a YANG container with >1 argument")

16472 all_attr = True

16473 for e in self._pyangbind_elements:

16474 if not hasattr(args[0], e):

16475 all_attr = False

16476 break

16477 if not all_attr:

16478 raise ValueError("Supplied object did not have the correct attributes")

16479 for e in self._pyangbind_elements:

16480 nobj = getattr(args[0], e)

16481 if nobj._changed() is False:

16482 continue

16483 setmethod = getattr(self, "_set_%s" % e)

16484 if load is None:

16485 setmethod(getattr(args[0], e))

16486 else:

16487 setmethod(getattr(args[0], e), load=load)

16488

16489 def _path(self):

16490 if hasattr(self, "_parent"):

16491 return self._parent._path()+[self._yang_name]

16492 else:

16493 return ['vnfd', 'df', 'lcm-operations-configuration', 'scale-vnf-op-config']

16494

16495 def _get_parameter(self):

16496 """

16497 Getter method for parameter, mapped from YANG variable /vnfd/df/lcm_operations_configuration/scale_vnf_op_config/parameter (list)

16498

16499 YANG Description: Array of KVP requirements for VNFspecific parameters

16500 to be passed when invoking the ScaleVnf operation.

16501 """

16502 return self.__parameter

16503

16504 def _set_parameter(self, v, load=False):

16505 """

16506 Setter method for parameter, mapped from YANG variable /vnfd/df/lcm_operations_configuration/scale_vnf_op_config/parameter (list)

16507 If this variable is read-only (config: false) in the

16508 source YANG file, then _set_parameter is considered as a private

16509 method. Backends looking to populate this variable should

16510 do so via calling thisObj._set_parameter() directly.

16511

16512 YANG Description: Array of KVP requirements for VNFspecific parameters

16513 to be passed when invoking the ScaleVnf operation.

16514 """

16515 if hasattr(v, "_utype"):

16516 v = v._utype(v)

16517 try:

16518 t = YANGDynClass(v,base=YANGListType("key",yc_parameter_etsi_nfv_vnfd__vnfd_df_lcm_operations_configuration_scale_vnf_op_config_parameter, yang_name="parameter", parent=self, is_container='list', user_ordered=False, path_helper=self._path_helper, yang_keys='key', extensions=None), is_container='list', yang_name="parameter", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, extensions=None, namespace='urn:etsi:nfv:yang:etsi-nfv-vnfd', defining_module='etsi-nfv-vnfd', yang_type='list', is_config=True)

16519 except (TypeError, ValueError):

16520 raise ValueError({

16521 'error-string': """parameter must be of a type compatible with list""",

16522 'defined-type': "list",

16523 'generated-type': """YANGDynClass(base=YANGListType("key",yc_parameter_etsi_nfv_vnfd__vnfd_df_lcm_operations_configuration_scale_vnf_op_config_parameter, yang_name="parameter", parent=self, is_container='list', user_ordered=False, path_helper=self._path_helper, yang_keys='key', extensions=None), is_container='list', yang_name="parameter", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, extensions=None, namespace='urn:etsi:nfv:yang:etsi-nfv-vnfd', defining_module='etsi-nfv-vnfd', yang_type='list', is_config=True)""",

16524 })

16525

16526 self.__parameter = t

16527 if hasattr(self, '_set'):

16528 self._set()

16529

16530 def _unset_parameter(self):

16531 self.__parameter = YANGDynClass(base=YANGListType("key",yc_parameter_etsi_nfv_vnfd__vnfd_df_lcm_operations_configuration_scale_vnf_op_config_parameter, yang_name="parameter", parent=self, is_container='list', user_ordered=False, path_helper=self._path_helper, yang_keys='key', extensions=None), is_container='list', yang_name="parameter", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, extensions=None, namespace='urn:etsi:nfv:yang:etsi-nfv-vnfd', defining_module='etsi-nfv-vnfd', yang_type='list', is_config=True)

16532

16533

16534 def _get_scaling_by_more_than_one_step_supported(self):

16535 """

16536 Getter method for scaling_by_more_than_one_step_supported, mapped from YANG variable /vnfd/df/lcm_operations_configuration/scale_vnf_op_config/scaling_by_more_than_one_step_supported (boolean)

16537

16538 YANG Description: Signals whether passing a value larger than one in

16539 the numScalingSteps parameter of the ScaleVnf

16540 operation is supported by this VNF.

16541 Default is FALSE, i.e. 'not supported'.

16542 """

16543 return self.__scaling_by_more_than_one_step_supported

16544

16545 def _set_scaling_by_more_than_one_step_supported(self, v, load=False):

16546 """

16547 Setter method for scaling_by_more_than_one_step_supported, mapped from YANG variable /vnfd/df/lcm_operations_configuration/scale_vnf_op_config/scaling_by_more_than_one_step_supported (boolean)

16548 If this variable is read-only (config: false) in the

16549 source YANG file, then _set_scaling_by_more_than_one_step_supported is considered as a private

16550 method. Backends looking to populate this variable should

16551 do so via calling thisObj._set_scaling_by_more_than_one_step_supported() directly.

16552

16553 YANG Description: Signals whether passing a value larger than one in

16554 the numScalingSteps parameter of the ScaleVnf

16555 operation is supported by this VNF.

16556 Default is FALSE, i.e. 'not supported'.

16557 """

16558 if hasattr(v, "_utype"):

16559 v = v._utype(v)

16560 try:

16561 t = YANGDynClass(v,base=YANGBool, default=YANGBool("false"), is_leaf=True, yang_name="scaling-by-more-than-one-step-supported", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='urn:etsi:nfv:yang:etsi-nfv-vnfd', defining_module='etsi-nfv-vnfd', yang_type='boolean', is_config=True)

16562 except (TypeError, ValueError):

16563 raise ValueError({

16564 'error-string': """scaling_by_more_than_one_step_supported must be of a type compatible with boolean""",

16565 'defined-type': "boolean",

16566 'generated-type': """YANGDynClass(base=YANGBool, default=YANGBool("false"), is_leaf=True, yang_name="scaling-by-more-than-one-step-supported", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='urn:etsi:nfv:yang:etsi-nfv-vnfd', defining_module='etsi-nfv-vnfd', yang_type='boolean', is_config=True)""",

16567 })

16568

16569 self.__scaling_by_more_than_one_step_supported = t

16570 if hasattr(self, '_set'):

16571 self._set()

16572

16573 def _unset_scaling_by_more_than_one_step_supported(self):

16574 self.__scaling_by_more_than_one_step_supported = YANGDynClass(base=YANGBool, default=YANGBool("false"), is_leaf=True, yang_name="scaling-by-more-than-one-step-supported", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='urn:etsi:nfv:yang:etsi-nfv-vnfd', defining_module='etsi-nfv-vnfd', yang_type='boolean', is_config=True)

16575

16576 parameter = __builtin__.property(_get_parameter, _set_parameter)

16577 scaling_by_more_than_one_step_supported = __builtin__.property(_get_scaling_by_more_than_one_step_supported, _set_scaling_by_more_than_one_step_supported)

16578

16579

16580 _pyangbind_elements = OrderedDict([('parameter', parameter), ('scaling_by_more_than_one_step_supported', scaling_by_more_than_one_step_supported), ])

16581

16582

16583 class yc_parameter_etsi_nfv_vnfd__vnfd_df_lcm_operations_configuration_scale_vnf_to_level_op_config_parameter(PybindBase):

16584 """

16585 This class was auto-generated by the PythonClass plugin for PYANG

16586 from YANG module etsi-nfv-vnfd - based on the path /vnfd/df/lcm-operations-configuration/scale-vnf-to-level-op-config/parameter. Each member element of

16587 the container is represented as a class variable - with a specific

16588 YANG type.

16589

16590 YANG Description: Array of KVP requirements for VNF-specific parameters

16591 to be passed when invoking the ScaleVnfToLevel

16592 operation.

16593 """

16594 __slots__ = ('_path_helper', '_extmethods', '__key','__value',)

16595

16596 _yang_name = 'parameter'

16597 _yang_namespace = 'urn:etsi:nfv:yang:etsi-nfv-vnfd'

16598

16599 _pybind_generated_by = 'container'

16600

16601 def __init__(self, *args, **kwargs):

16602

16603 self._path_helper = False

16604

16605 self._extmethods = False

16606 self.__key = YANGDynClass(base=str, is_leaf=True, yang_name="key", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, is_keyval=True, namespace='urn:etsi:nfv:yang:etsi-nfv-vnfd', defining_module='etsi-nfv-vnfd', yang_type='string', is_config=True)

16607 self.__value = YANGDynClass(base=str, is_leaf=True, yang_name="value", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='urn:etsi:nfv:yang:etsi-nfv-vnfd', defining_module='etsi-nfv-vnfd', yang_type='string', is_config=True)

16608

16609 load = kwargs.pop("load", None)

16610 if args:

16611 if len(args) > 1:

16612 raise TypeError("cannot create a YANG container with >1 argument")

16613 all_attr = True

16614 for e in self._pyangbind_elements:

16615 if not hasattr(args[0], e):

16616 all_attr = False

16617 break

16618 if not all_attr:

16619 raise ValueError("Supplied object did not have the correct attributes")

16620 for e in self._pyangbind_elements:

16621 nobj = getattr(args[0], e)

16622 if nobj._changed() is False:

16623 continue

16624 setmethod = getattr(self, "_set_%s" % e)

16625 if load is None:

16626 setmethod(getattr(args[0], e))

16627 else:

16628 setmethod(getattr(args[0], e), load=load)

16629

16630 def _path(self):

16631 if hasattr(self, "_parent"):

16632 return self._parent._path()+[self._yang_name]

16633 else:

16634 return ['vnfd', 'df', 'lcm-operations-configuration', 'scale-vnf-to-level-op-config', 'parameter']

16635

16636 def _get_key(self):

16637 """

16638 Getter method for key, mapped from YANG variable /vnfd/df/lcm_operations_configuration/scale_vnf_to_level_op_config/parameter/key (string)

16639 """

16640 return self.__key

16641

16642 def _set_key(self, v, load=False):

16643 """

16644 Setter method for key, mapped from YANG variable /vnfd/df/lcm_operations_configuration/scale_vnf_to_level_op_config/parameter/key (string)

16645 If this variable is read-only (config: false) in the

16646 source YANG file, then _set_key is considered as a private

16647 method. Backends looking to populate this variable should

16648 do so via calling thisObj._set_key() directly.

16649 """

16650 parent = getattr(self, "_parent", None)

16651 if parent is not None and load is False:

16652 raise AttributeError("Cannot set keys directly when" +

16653 " within an instantiated list")

16654

16655 if hasattr(v, "_utype"):

16656 v = v._utype(v)

16657 try:

16658 t = YANGDynClass(v,base=str, is_leaf=True, yang_name="key", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, is_keyval=True, namespace='urn:etsi:nfv:yang:etsi-nfv-vnfd', defining_module='etsi-nfv-vnfd', yang_type='string', is_config=True)

16659 except (TypeError, ValueError):

16660 raise ValueError({

16661 'error-string': """key must be of a type compatible with string""",

16662 'defined-type': "string",

16663 'generated-type': """YANGDynClass(base=str, is_leaf=True, yang_name="key", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, is_keyval=True, namespace='urn:etsi:nfv:yang:etsi-nfv-vnfd', defining_module='etsi-nfv-vnfd', yang_type='string', is_config=True)""",

16664 })

16665

16666 self.__key = t

16667 if hasattr(self, '_set'):

16668 self._set()

16669

16670 def _unset_key(self):

16671 self.__key = YANGDynClass(base=str, is_leaf=True, yang_name="key", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, is_keyval=True, namespace='urn:etsi:nfv:yang:etsi-nfv-vnfd', defining_module='etsi-nfv-vnfd', yang_type='string', is_config=True)

16672

16673

16674 def _get_value(self):

16675 """

16676 Getter method for value, mapped from YANG variable /vnfd/df/lcm_operations_configuration/scale_vnf_to_level_op_config/parameter/value (string)

16677 """

16678 return self.__value

16679

16680 def _set_value(self, v, load=False):

16681 """

16682 Setter method for value, mapped from YANG variable /vnfd/df/lcm_operations_configuration/scale_vnf_to_level_op_config/parameter/value (string)

16683 If this variable is read-only (config: false) in the

16684 source YANG file, then _set_value is considered as a private

16685 method. Backends looking to populate this variable should

16686 do so via calling thisObj._set_value() directly.

16687 """

16688 if hasattr(v, "_utype"):

16689 v = v._utype(v)

16690 try:

16691 t = YANGDynClass(v,base=str, is_leaf=True, yang_name="value", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='urn:etsi:nfv:yang:etsi-nfv-vnfd', defining_module='etsi-nfv-vnfd', yang_type='string', is_config=True)

16692 except (TypeError, ValueError):

16693 raise ValueError({

16694 'error-string': """value must be of a type compatible with string""",

16695 'defined-type': "string",

16696 'generated-type': """YANGDynClass(base=str, is_leaf=True, yang_name="value", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='urn:etsi:nfv:yang:etsi-nfv-vnfd', defining_module='etsi-nfv-vnfd', yang_type='string', is_config=True)""",

16697 })

16698

16699 self.__value = t

16700 if hasattr(self, '_set'):

16701 self._set()

16702

16703 def _unset_value(self):

16704 self.__value = YANGDynClass(base=str, is_leaf=True, yang_name="value", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='urn:etsi:nfv:yang:etsi-nfv-vnfd', defining_module='etsi-nfv-vnfd', yang_type='string', is_config=True)

16705

16706 key = __builtin__.property(_get_key, _set_key)

16707 value = __builtin__.property(_get_value, _set_value)

16708

16709

16710 _pyangbind_elements = OrderedDict([('key', key), ('value', value), ])

16711

16712

16713 class yc_scale_vnf_to_level_op_config_etsi_nfv_vnfd__vnfd_df_lcm_operations_configuration_scale_vnf_to_level_op_config(PybindBase):

16714 """

16715 This class was auto-generated by the PythonClass plugin for PYANG

16716 from YANG module etsi-nfv-vnfd - based on the path /vnfd/df/lcm-operations-configuration/scale-vnf-to-level-op-config. Each member element of

16717 the container is represented as a class variable - with a specific

16718 YANG type.

16719

16720 YANG Description: This information element defines attributes that

16721 affect the invocation of the ScaleVnfToLevel

16722 operation.

16723 """

16724 __slots__ = ('_path_helper', '_extmethods', '__parameter','__arbitrary_target_levels_supported',)

16725

16726 _yang_name = 'scale-vnf-to-level-op-config'

16727 _yang_namespace = 'urn:etsi:nfv:yang:etsi-nfv-vnfd'

16728

16729 _pybind_generated_by = 'container'

16730

16731 def __init__(self, *args, **kwargs):

16732

16733 self._path_helper = False

16734

16735 self._extmethods = False

16736 self.__parameter = YANGDynClass(base=YANGListType("key",yc_parameter_etsi_nfv_vnfd__vnfd_df_lcm_operations_configuration_scale_vnf_to_level_op_config_parameter, yang_name="parameter", parent=self, is_container='list', user_ordered=False, path_helper=self._path_helper, yang_keys='key', extensions=None), is_container='list', yang_name="parameter", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, extensions=None, namespace='urn:etsi:nfv:yang:etsi-nfv-vnfd', defining_module='etsi-nfv-vnfd', yang_type='list', is_config=True)

16737 self.__arbitrary_target_levels_supported = YANGDynClass(base=YANGBool, default=YANGBool("false"), is_leaf=True, yang_name="arbitrary-target-levels-supported", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='urn:etsi:nfv:yang:etsi-nfv-vnfd', defining_module='etsi-nfv-vnfd', yang_type='boolean', is_config=True)

16738

16739 load = kwargs.pop("load", None)

16740 if args:

16741 if len(args) > 1:

16742 raise TypeError("cannot create a YANG container with >1 argument")

16743 all_attr = True

16744 for e in self._pyangbind_elements:

16745 if not hasattr(args[0], e):

16746 all_attr = False

16747 break

16748 if not all_attr:

16749 raise ValueError("Supplied object did not have the correct attributes")

16750 for e in self._pyangbind_elements:

16751 nobj = getattr(args[0], e)

16752 if nobj._changed() is False:

16753 continue

16754 setmethod = getattr(self, "_set_%s" % e)

16755 if load is None:

16756 setmethod(getattr(args[0], e))

16757 else:

16758 setmethod(getattr(args[0], e), load=load)

16759

16760 def _path(self):

16761 if hasattr(self, "_parent"):

16762 return self._parent._path()+[self._yang_name]

16763 else:

16764 return ['vnfd', 'df', 'lcm-operations-configuration', 'scale-vnf-to-level-op-config']

16765

16766 def _get_parameter(self):

16767 """

16768 Getter method for parameter, mapped from YANG variable /vnfd/df/lcm_operations_configuration/scale_vnf_to_level_op_config/parameter (list)

16769

16770 YANG Description: Array of KVP requirements for VNF-specific parameters

16771 to be passed when invoking the ScaleVnfToLevel

16772 operation.

16773 """

16774 return self.__parameter

16775

16776 def _set_parameter(self, v, load=False):

16777 """

16778 Setter method for parameter, mapped from YANG variable /vnfd/df/lcm_operations_configuration/scale_vnf_to_level_op_config/parameter (list)

16779 If this variable is read-only (config: false) in the

16780 source YANG file, then _set_parameter is considered as a private

16781 method. Backends looking to populate this variable should

16782 do so via calling thisObj._set_parameter() directly.

16783

16784 YANG Description: Array of KVP requirements for VNF-specific parameters

16785 to be passed when invoking the ScaleVnfToLevel

16786 operation.

16787 """

16788 if hasattr(v, "_utype"):

16789 v = v._utype(v)

16790 try:

16791 t = YANGDynClass(v,base=YANGListType("key",yc_parameter_etsi_nfv_vnfd__vnfd_df_lcm_operations_configuration_scale_vnf_to_level_op_config_parameter, yang_name="parameter", parent=self, is_container='list', user_ordered=False, path_helper=self._path_helper, yang_keys='key', extensions=None), is_container='list', yang_name="parameter", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, extensions=None, namespace='urn:etsi:nfv:yang:etsi-nfv-vnfd', defining_module='etsi-nfv-vnfd', yang_type='list', is_config=True)

16792 except (TypeError, ValueError):

16793 raise ValueError({

16794 'error-string': """parameter must be of a type compatible with list""",

16795 'defined-type': "list",

16796 'generated-type': """YANGDynClass(base=YANGListType("key",yc_parameter_etsi_nfv_vnfd__vnfd_df_lcm_operations_configuration_scale_vnf_to_level_op_config_parameter, yang_name="parameter", parent=self, is_container='list', user_ordered=False, path_helper=self._path_helper, yang_keys='key', extensions=None), is_container='list', yang_name="parameter", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, extensions=None, namespace='urn:etsi:nfv:yang:etsi-nfv-vnfd', defining_module='etsi-nfv-vnfd', yang_type='list', is_config=True)""",

16797 })

16798

16799 self.__parameter = t

16800 if hasattr(self, '_set'):

16801 self._set()

16802

16803 def _unset_parameter(self):

16804 self.__parameter = YANGDynClass(base=YANGListType("key",yc_parameter_etsi_nfv_vnfd__vnfd_df_lcm_operations_configuration_scale_vnf_to_level_op_config_parameter, yang_name="parameter", parent=self, is_container='list', user_ordered=False, path_helper=self._path_helper, yang_keys='key', extensions=None), is_container='list', yang_name="parameter", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, extensions=None, namespace='urn:etsi:nfv:yang:etsi-nfv-vnfd', defining_module='etsi-nfv-vnfd', yang_type='list', is_config=True)

16805

16806

16807 def _get_arbitrary_target_levels_supported(self):

16808 """

16809 Getter method for arbitrary_target_levels_supported, mapped from YANG variable /vnfd/df/lcm_operations_configuration/scale_vnf_to_level_op_config/arbitrary_target_levels_supported (boolean)

16810

16811 YANG Description: Signals whether scaling according to the parameter

16812'scaleInfo' is supported by this VNF.

16813 """

16814 return self.__arbitrary_target_levels_supported

16815

16816 def _set_arbitrary_target_levels_supported(self, v, load=False):

16817 """

16818 Setter method for arbitrary_target_levels_supported, mapped from YANG variable /vnfd/df/lcm_operations_configuration/scale_vnf_to_level_op_config/arbitrary_target_levels_supported (boolean)

16819 If this variable is read-only (config: false) in the

16820 source YANG file, then _set_arbitrary_target_levels_supported is considered as a private

16821 method. Backends looking to populate this variable should

16822 do so via calling thisObj._set_arbitrary_target_levels_supported() directly.

16823

16824 YANG Description: Signals whether scaling according to the parameter

16825'scaleInfo' is supported by this VNF.

16826 """

16827 if hasattr(v, "_utype"):

16828 v = v._utype(v)

16829 try:

16830 t = YANGDynClass(v,base=YANGBool, default=YANGBool("false"), is_leaf=True, yang_name="arbitrary-target-levels-supported", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='urn:etsi:nfv:yang:etsi-nfv-vnfd', defining_module='etsi-nfv-vnfd', yang_type='boolean', is_config=True)

16831 except (TypeError, ValueError):

16832 raise ValueError({

16833 'error-string': """arbitrary_target_levels_supported must be of a type compatible with boolean""",

16834 'defined-type': "boolean",

16835 'generated-type': """YANGDynClass(base=YANGBool, default=YANGBool("false"), is_leaf=True, yang_name="arbitrary-target-levels-supported", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='urn:etsi:nfv:yang:etsi-nfv-vnfd', defining_module='etsi-nfv-vnfd', yang_type='boolean', is_config=True)""",

16836 })

16837

16838 self.__arbitrary_target_levels_supported = t

16839 if hasattr(self, '_set'):

16840 self._set()

16841

16842 def _unset_arbitrary_target_levels_supported(self):

16843 self.__arbitrary_target_levels_supported = YANGDynClass(base=YANGBool, default=YANGBool("false"), is_leaf=True, yang_name="arbitrary-target-levels-supported", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='urn:etsi:nfv:yang:etsi-nfv-vnfd', defining_module='etsi-nfv-vnfd', yang_type='boolean', is_config=True)

16844

16845 parameter = __builtin__.property(_get_parameter, _set_parameter)

16846 arbitrary_target_levels_supported = __builtin__.property(_get_arbitrary_target_levels_supported, _set_arbitrary_target_levels_supported)

16847

16848

16849 _pyangbind_elements = OrderedDict([('parameter', parameter), ('arbitrary_target_levels_supported', arbitrary_target_levels_supported), ])

16850

16851

16852 class yc_parameter_etsi_nfv_vnfd__vnfd_df_lcm_operations_configuration_heal_vnf_op_config_parameter(PybindBase):

16853 """

16854 This class was auto-generated by the PythonClass plugin for PYANG

16855 from YANG module etsi-nfv-vnfd - based on the path /vnfd/df/lcm-operations-configuration/heal-vnf-op-config/parameter. Each member element of

16856 the container is represented as a class variable - with a specific

16857 YANG type.

16858

16859 YANG Description: Array of KVP requirements for VNF-specific parameters

16860 to be passed when invoking the HealVnf operation.

16861 """

16862 __slots__ = ('_path_helper', '_extmethods', '__key','__value',)

16863

16864 _yang_name = 'parameter'

16865 _yang_namespace = 'urn:etsi:nfv:yang:etsi-nfv-vnfd'

16866

16867 _pybind_generated_by = 'container'

16868

16869 def __init__(self, *args, **kwargs):

16870

16871 self._path_helper = False

16872

16873 self._extmethods = False

16874 self.__key = YANGDynClass(base=str, is_leaf=True, yang_name="key", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, is_keyval=True, namespace='urn:etsi:nfv:yang:etsi-nfv-vnfd', defining_module='etsi-nfv-vnfd', yang_type='string', is_config=True)

16875 self.__value = YANGDynClass(base=str, is_leaf=True, yang_name="value", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='urn:etsi:nfv:yang:etsi-nfv-vnfd', defining_module='etsi-nfv-vnfd', yang_type='string', is_config=True)

16876

16877 load = kwargs.pop("load", None)

16878 if args:

16879 if len(args) > 1:

16880 raise TypeError("cannot create a YANG container with >1 argument")

16881 all_attr = True

16882 for e in self._pyangbind_elements:

16883 if not hasattr(args[0], e):

16884 all_attr = False

16885 break

16886 if not all_attr:

16887 raise ValueError("Supplied object did not have the correct attributes")

16888 for e in self._pyangbind_elements:

16889 nobj = getattr(args[0], e)

16890 if nobj._changed() is False:

16891 continue

16892 setmethod = getattr(self, "_set_%s" % e)

16893 if load is None:

16894 setmethod(getattr(args[0], e))

16895 else:

16896 setmethod(getattr(args[0], e), load=load)

16897

16898 def _path(self):

16899 if hasattr(self, "_parent"):

16900 return self._parent._path()+[self._yang_name]

16901 else:

16902 return ['vnfd', 'df', 'lcm-operations-configuration', 'heal-vnf-op-config', 'parameter']

16903

16904 def _get_key(self):

16905 """

16906 Getter method for key, mapped from YANG variable /vnfd/df/lcm_operations_configuration/heal_vnf_op_config/parameter/key (string)

16907 """

16908 return self.__key

16909

16910 def _set_key(self, v, load=False):

16911 """

16912 Setter method for key, mapped from YANG variable /vnfd/df/lcm_operations_configuration/heal_vnf_op_config/parameter/key (string)

16913 If this variable is read-only (config: false) in the

16914 source YANG file, then _set_key is considered as a private

16915 method. Backends looking to populate this variable should

16916 do so via calling thisObj._set_key() directly.

16917 """

16918 parent = getattr(self, "_parent", None)

16919 if parent is not None and load is False:

16920 raise AttributeError("Cannot set keys directly when" +

16921 " within an instantiated list")

16922

16923 if hasattr(v, "_utype"):

16924 v = v._utype(v)

16925 try:

16926 t = YANGDynClass(v,base=str, is_leaf=True, yang_name="key", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, is_keyval=True, namespace='urn:etsi:nfv:yang:etsi-nfv-vnfd', defining_module='etsi-nfv-vnfd', yang_type='string', is_config=True)

16927 except (TypeError, ValueError):

16928 raise ValueError({

16929 'error-string': """key must be of a type compatible with string""",

16930 'defined-type': "string",

16931 'generated-type': """YANGDynClass(base=str, is_leaf=True, yang_name="key", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, is_keyval=True, namespace='urn:etsi:nfv:yang:etsi-nfv-vnfd', defining_module='etsi-nfv-vnfd', yang_type='string', is_config=True)""",

16932 })

16933

16934 self.__key = t

16935 if hasattr(self, '_set'):

16936 self._set()

16937

16938 def _unset_key(self):

16939 self.__key = YANGDynClass(base=str, is_leaf=True, yang_name="key", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, is_keyval=True, namespace='urn:etsi:nfv:yang:etsi-nfv-vnfd', defining_module='etsi-nfv-vnfd', yang_type='string', is_config=True)

16940

16941

16942 def _get_value(self):

16943 """

16944 Getter method for value, mapped from YANG variable /vnfd/df/lcm_operations_configuration/heal_vnf_op_config/parameter/value (string)

16945 """

16946 return self.__value

16947

16948 def _set_value(self, v, load=False):

16949 """

16950 Setter method for value, mapped from YANG variable /vnfd/df/lcm_operations_configuration/heal_vnf_op_config/parameter/value (string)

16951 If this variable is read-only (config: false) in the

16952 source YANG file, then _set_value is considered as a private

16953 method. Backends looking to populate this variable should

16954 do so via calling thisObj._set_value() directly.

16955 """

16956 if hasattr(v, "_utype"):

16957 v = v._utype(v)

16958 try:

16959 t = YANGDynClass(v,base=str, is_leaf=True, yang_name="value", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='urn:etsi:nfv:yang:etsi-nfv-vnfd', defining_module='etsi-nfv-vnfd', yang_type='string', is_config=True)

16960 except (TypeError, ValueError):

16961 raise ValueError({

16962 'error-string': """value must be of a type compatible with string""",

16963 'defined-type': "string",

16964 'generated-type': """YANGDynClass(base=str, is_leaf=True, yang_name="value", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='urn:etsi:nfv:yang:etsi-nfv-vnfd', defining_module='etsi-nfv-vnfd', yang_type='string', is_config=True)""",

16965 })

16966

16967 self.__value = t

16968 if hasattr(self, '_set'):

16969 self._set()

16970

16971 def _unset_value(self):

16972 self.__value = YANGDynClass(base=str, is_leaf=True, yang_name="value", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='urn:etsi:nfv:yang:etsi-nfv-vnfd', defining_module='etsi-nfv-vnfd', yang_type='string', is_config=True)

16973

16974 key = __builtin__.property(_get_key, _set_key)

16975 value = __builtin__.property(_get_value, _set_value)

16976

16977

16978 _pyangbind_elements = OrderedDict([('key', key), ('value', value), ])

16979

16980

16981 class yc_heal_vnf_op_config_etsi_nfv_vnfd__vnfd_df_lcm_operations_configuration_heal_vnf_op_config(PybindBase):

16982 """

16983 This class was auto-generated by the PythonClass plugin for PYANG

16984 from YANG module etsi-nfv-vnfd - based on the path /vnfd/df/lcm-operations-configuration/heal-vnf-op-config. Each member element of

16985 the container is represented as a class variable - with a specific

16986 YANG type.

16987

16988 YANG Description: This information element defines attributes that

16989 affect the invocation of the HealVnf operation.

16990 """

16991 __slots__ = ('_path_helper', '_extmethods', '__parameter','__cause',)

16992

16993 _yang_name = 'heal-vnf-op-config'

16994 _yang_namespace = 'urn:etsi:nfv:yang:etsi-nfv-vnfd'

16995

16996 _pybind_generated_by = 'container'

16997

16998 def __init__(self, *args, **kwargs):

16999

17000 self._path_helper = False

17001

17002 self._extmethods = False

17003 self.__parameter = YANGDynClass(base=YANGListType("key",yc_parameter_etsi_nfv_vnfd__vnfd_df_lcm_operations_configuration_heal_vnf_op_config_parameter, yang_name="parameter", parent=self, is_container='list', user_ordered=False, path_helper=self._path_helper, yang_keys='key', extensions=None), is_container='list', yang_name="parameter", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, extensions=None, namespace='urn:etsi:nfv:yang:etsi-nfv-vnfd', defining_module='etsi-nfv-vnfd', yang_type='list', is_config=True)

17004 self.__cause = YANGDynClass(unique=True, base=TypedListType(allowed_type=str), is_leaf=False, yang_name="cause", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='urn:etsi:nfv:yang:etsi-nfv-vnfd', defining_module='etsi-nfv-vnfd', yang_type='string', is_config=True)

17005

17006 load = kwargs.pop("load", None)

17007 if args:

17008 if len(args) > 1:

17009 raise TypeError("cannot create a YANG container with >1 argument")

17010 all_attr = True

17011 for e in self._pyangbind_elements:

17012 if not hasattr(args[0], e):

17013 all_attr = False

17014 break

17015 if not all_attr:

17016 raise ValueError("Supplied object did not have the correct attributes")

17017 for e in self._pyangbind_elements:

17018 nobj = getattr(args[0], e)

17019 if nobj._changed() is False:

17020 continue

17021 setmethod = getattr(self, "_set_%s" % e)

17022 if load is None:

17023 setmethod(getattr(args[0], e))

17024 else:

17025 setmethod(getattr(args[0], e), load=load)

17026

17027 def _path(self):

17028 if hasattr(self, "_parent"):

17029 return self._parent._path()+[self._yang_name]

17030 else:

17031 return ['vnfd', 'df', 'lcm-operations-configuration', 'heal-vnf-op-config']

17032

17033 def _get_parameter(self):

17034 """

17035 Getter method for parameter, mapped from YANG variable /vnfd/df/lcm_operations_configuration/heal_vnf_op_config/parameter (list)

17036

17037 YANG Description: Array of KVP requirements for VNF-specific parameters

17038 to be passed when invoking the HealVnf operation.

17039 """

17040 return self.__parameter

17041

17042 def _set_parameter(self, v, load=False):

17043 """

17044 Setter method for parameter, mapped from YANG variable /vnfd/df/lcm_operations_configuration/heal_vnf_op_config/parameter (list)

17045 If this variable is read-only (config: false) in the

17046 source YANG file, then _set_parameter is considered as a private

17047 method. Backends looking to populate this variable should

17048 do so via calling thisObj._set_parameter() directly.

17049

17050 YANG Description: Array of KVP requirements for VNF-specific parameters

17051 to be passed when invoking the HealVnf operation.

17052 """

17053 if hasattr(v, "_utype"):

17054 v = v._utype(v)

17055 try:

17056 t = YANGDynClass(v,base=YANGListType("key",yc_parameter_etsi_nfv_vnfd__vnfd_df_lcm_operations_configuration_heal_vnf_op_config_parameter, yang_name="parameter", parent=self, is_container='list', user_ordered=False, path_helper=self._path_helper, yang_keys='key', extensions=None), is_container='list', yang_name="parameter", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, extensions=None, namespace='urn:etsi:nfv:yang:etsi-nfv-vnfd', defining_module='etsi-nfv-vnfd', yang_type='list', is_config=True)

17057 except (TypeError, ValueError):

17058 raise ValueError({

17059 'error-string': """parameter must be of a type compatible with list""",

17060 'defined-type': "list",

17061 'generated-type': """YANGDynClass(base=YANGListType("key",yc_parameter_etsi_nfv_vnfd__vnfd_df_lcm_operations_configuration_heal_vnf_op_config_parameter, yang_name="parameter", parent=self, is_container='list', user_ordered=False, path_helper=self._path_helper, yang_keys='key', extensions=None), is_container='list', yang_name="parameter", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, extensions=None, namespace='urn:etsi:nfv:yang:etsi-nfv-vnfd', defining_module='etsi-nfv-vnfd', yang_type='list', is_config=True)""",

17062 })

17063

17064 self.__parameter = t

17065 if hasattr(self, '_set'):

17066 self._set()

17067

17068 def _unset_parameter(self):

17069 self.__parameter = YANGDynClass(base=YANGListType("key",yc_parameter_etsi_nfv_vnfd__vnfd_df_lcm_operations_configuration_heal_vnf_op_config_parameter, yang_name="parameter", parent=self, is_container='list', user_ordered=False, path_helper=self._path_helper, yang_keys='key', extensions=None), is_container='list', yang_name="parameter", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, extensions=None, namespace='urn:etsi:nfv:yang:etsi-nfv-vnfd', defining_module='etsi-nfv-vnfd', yang_type='list', is_config=True)

17070

17071

17072 def _get_cause(self):

17073 """

17074 Getter method for cause, mapped from YANG variable /vnfd/df/lcm_operations_configuration/heal_vnf_op_config/cause (string)

17075

17076 YANG Description: Supported 'cause' parameter values.

17077 """

17078 return self.__cause

17079

17080 def _set_cause(self, v, load=False):

17081 """

17082 Setter method for cause, mapped from YANG variable /vnfd/df/lcm_operations_configuration/heal_vnf_op_config/cause (string)

17083 If this variable is read-only (config: false) in the

17084 source YANG file, then _set_cause is considered as a private

17085 method. Backends looking to populate this variable should

17086 do so via calling thisObj._set_cause() directly.

17087

17088 YANG Description: Supported 'cause' parameter values.

17089 """

17090 if hasattr(v, "_utype"):

17091 v = v._utype(v)

17092 try:

17093 t = YANGDynClass(v,unique=True, base=TypedListType(allowed_type=str), is_leaf=False, yang_name="cause", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='urn:etsi:nfv:yang:etsi-nfv-vnfd', defining_module='etsi-nfv-vnfd', yang_type='string', is_config=True)

17094 except (TypeError, ValueError):

17095 raise ValueError({

17096 'error-string': """cause must be of a type compatible with string""",

17097 'defined-type': "string",

17098 'generated-type': """YANGDynClass(unique=True, base=TypedListType(allowed_type=str), is_leaf=False, yang_name="cause", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='urn:etsi:nfv:yang:etsi-nfv-vnfd', defining_module='etsi-nfv-vnfd', yang_type='string', is_config=True)""",

17099 })

17100

17101 self.__cause = t

17102 if hasattr(self, '_set'):

17103 self._set()

17104

17105 def _unset_cause(self):

17106 self.__cause = YANGDynClass(unique=True, base=TypedListType(allowed_type=str), is_leaf=False, yang_name="cause", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='urn:etsi:nfv:yang:etsi-nfv-vnfd', defining_module='etsi-nfv-vnfd', yang_type='string', is_config=True)

17107

17108 parameter = __builtin__.property(_get_parameter, _set_parameter)

17109 cause = __builtin__.property(_get_cause, _set_cause)

17110

17111

17112 _pyangbind_elements = OrderedDict([('parameter', parameter), ('cause', cause), ])

17113

17114

17115 class yc_parameter_etsi_nfv_vnfd__vnfd_df_lcm_operations_configuration_terminate_vnf_op_config_parameter(PybindBase):

17116 """

17117 This class was auto-generated by the PythonClass plugin for PYANG

17118 from YANG module etsi-nfv-vnfd - based on the path /vnfd/df/lcm-operations-configuration/terminate-vnf-op-config/parameter. Each member element of

17119 the container is represented as a class variable - with a specific

17120 YANG type.

17121

17122 YANG Description: Array of KVP requirements for VNF-specific parameters

17123 to be passed when invoking the TerminateVnf

17124 operation.

17125 """

17126 __slots__ = ('_path_helper', '_extmethods', '__key','__value',)

17127

17128 _yang_name = 'parameter'

17129 _yang_namespace = 'urn:etsi:nfv:yang:etsi-nfv-vnfd'

17130

17131 _pybind_generated_by = 'container'

17132

17133 def __init__(self, *args, **kwargs):

17134

17135 self._path_helper = False

17136

17137 self._extmethods = False

17138 self.__key = YANGDynClass(base=str, is_leaf=True, yang_name="key", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, is_keyval=True, namespace='urn:etsi:nfv:yang:etsi-nfv-vnfd', defining_module='etsi-nfv-vnfd', yang_type='string', is_config=True)

17139 self.__value = YANGDynClass(base=str, is_leaf=True, yang_name="value", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='urn:etsi:nfv:yang:etsi-nfv-vnfd', defining_module='etsi-nfv-vnfd', yang_type='string', is_config=True)

17140

17141 load = kwargs.pop("load", None)

17142 if args:

17143 if len(args) > 1:

17144 raise TypeError("cannot create a YANG container with >1 argument")

17145 all_attr = True

17146 for e in self._pyangbind_elements:

17147 if not hasattr(args[0], e):

17148 all_attr = False

17149 break

17150 if not all_attr:

17151 raise ValueError("Supplied object did not have the correct attributes")

17152 for e in self._pyangbind_elements:

17153 nobj = getattr(args[0], e)

17154 if nobj._changed() is False:

17155 continue

17156 setmethod = getattr(self, "_set_%s" % e)

17157 if load is None:

17158 setmethod(getattr(args[0], e))

17159 else:

17160 setmethod(getattr(args[0], e), load=load)

17161

17162 def _path(self):

17163 if hasattr(self, "_parent"):

17164 return self._parent._path()+[self._yang_name]

17165 else:

17166 return ['vnfd', 'df', 'lcm-operations-configuration', 'terminate-vnf-op-config', 'parameter']

17167

17168 def _get_key(self):

17169 """

17170 Getter method for key, mapped from YANG variable /vnfd/df/lcm_operations_configuration/terminate_vnf_op_config/parameter/key (string)

17171 """

17172 return self.__key

17173

17174 def _set_key(self, v, load=False):

17175 """

17176 Setter method for key, mapped from YANG variable /vnfd/df/lcm_operations_configuration/terminate_vnf_op_config/parameter/key (string)

17177 If this variable is read-only (config: false) in the

17178 source YANG file, then _set_key is considered as a private

17179 method. Backends looking to populate this variable should

17180 do so via calling thisObj._set_key() directly.

17181 """

17182 parent = getattr(self, "_parent", None)

17183 if parent is not None and load is False:

17184 raise AttributeError("Cannot set keys directly when" +

17185 " within an instantiated list")

17186

17187 if hasattr(v, "_utype"):

17188 v = v._utype(v)

17189 try:

17190 t = YANGDynClass(v,base=str, is_leaf=True, yang_name="key", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, is_keyval=True, namespace='urn:etsi:nfv:yang:etsi-nfv-vnfd', defining_module='etsi-nfv-vnfd', yang_type='string', is_config=True)

17191 except (TypeError, ValueError):

17192 raise ValueError({

17193 'error-string': """key must be of a type compatible with string""",

17194 'defined-type': "string",

17195 'generated-type': """YANGDynClass(base=str, is_leaf=True, yang_name="key", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, is_keyval=True, namespace='urn:etsi:nfv:yang:etsi-nfv-vnfd', defining_module='etsi-nfv-vnfd', yang_type='string', is_config=True)""",

17196 })

17197

17198 self.__key = t

17199 if hasattr(self, '_set'):

17200 self._set()

17201

17202 def _unset_key(self):

17203 self.__key = YANGDynClass(base=str, is_leaf=True, yang_name="key", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, is_keyval=True, namespace='urn:etsi:nfv:yang:etsi-nfv-vnfd', defining_module='etsi-nfv-vnfd', yang_type='string', is_config=True)

17204

17205

17206 def _get_value(self):

17207 """

17208 Getter method for value, mapped from YANG variable /vnfd/df/lcm_operations_configuration/terminate_vnf_op_config/parameter/value (string)

17209 """

17210 return self.__value

17211

17212 def _set_value(self, v, load=False):

17213 """

17214 Setter method for value, mapped from YANG variable /vnfd/df/lcm_operations_configuration/terminate_vnf_op_config/parameter/value (string)

17215 If this variable is read-only (config: false) in the

17216 source YANG file, then _set_value is considered as a private

17217 method. Backends looking to populate this variable should

17218 do so via calling thisObj._set_value() directly.

17219 """

17220 if hasattr(v, "_utype"):

17221 v = v._utype(v)

17222 try:

17223 t = YANGDynClass(v,base=str, is_leaf=True, yang_name="value", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='urn:etsi:nfv:yang:etsi-nfv-vnfd', defining_module='etsi-nfv-vnfd', yang_type='string', is_config=True)

17224 except (TypeError, ValueError):

17225 raise ValueError({

17226 'error-string': """value must be of a type compatible with string""",

17227 'defined-type': "string",

17228 'generated-type': """YANGDynClass(base=str, is_leaf=True, yang_name="value", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='urn:etsi:nfv:yang:etsi-nfv-vnfd', defining_module='etsi-nfv-vnfd', yang_type='string', is_config=True)""",

17229 })

17230

17231 self.__value = t

17232 if hasattr(self, '_set'):

17233 self._set()

17234

17235 def _unset_value(self):

17236 self.__value = YANGDynClass(base=str, is_leaf=True, yang_name="value", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='urn:etsi:nfv:yang:etsi-nfv-vnfd', defining_module='etsi-nfv-vnfd', yang_type='string', is_config=True)

17237

17238 key = __builtin__.property(_get_key, _set_key)

17239 value = __builtin__.property(_get_value, _set_value)

17240

17241

17242 _pyangbind_elements = OrderedDict([('key', key), ('value', value), ])

17243

17244

17245 class yc_terminate_vnf_op_config_etsi_nfv_vnfd__vnfd_df_lcm_operations_configuration_terminate_vnf_op_config(PybindBase):

17246 """

17247 This class was auto-generated by the PythonClass plugin for PYANG

17248 from YANG module etsi-nfv-vnfd - based on the path /vnfd/df/lcm-operations-configuration/terminate-vnf-op-config. Each member element of

17249 the container is represented as a class variable - with a specific

17250 YANG type.

17251

17252 YANG Description: This information element defines attributes that

17253 affect the invocation of the TerminateVnf operation.

17254 """

17255 __slots__ = ('_path_helper', '_extmethods', '__min_graceful_termination','__max_recommended_graceful_termination','__parameter',)

17256

17257 _yang_name = 'terminate-vnf-op-config'

17258 _yang_namespace = 'urn:etsi:nfv:yang:etsi-nfv-vnfd'

17259

17260 _pybind_generated_by = 'container'

17261

17262 def __init__(self, *args, **kwargs):

17263

17264 self._path_helper = False

17265

17266 self._extmethods = False

17267 self.__min_graceful_termination = 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)(1), is_leaf=True, yang_name="min-graceful-termination", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='urn:etsi:nfv:yang:etsi-nfv-vnfd', defining_module='etsi-nfv-vnfd', yang_type='yang:timeticks', is_config=True)

17268 self.__max_recommended_graceful_termination = YANGDynClass(base=RestrictedClassType(base_type=long, restriction_dict={'range': ['0..4294967295']}, int_size=32), is_leaf=True, yang_name="max-recommended-graceful-termination", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='urn:etsi:nfv:yang:etsi-nfv-vnfd', defining_module='etsi-nfv-vnfd', yang_type='yang:timeticks', is_config=True)

17269 self.__parameter = YANGDynClass(base=YANGListType("key",yc_parameter_etsi_nfv_vnfd__vnfd_df_lcm_operations_configuration_terminate_vnf_op_config_parameter, yang_name="parameter", parent=self, is_container='list', user_ordered=False, path_helper=self._path_helper, yang_keys='key', extensions=None), is_container='list', yang_name="parameter", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, extensions=None, namespace='urn:etsi:nfv:yang:etsi-nfv-vnfd', defining_module='etsi-nfv-vnfd', yang_type='list', is_config=True)

17270

17271 load = kwargs.pop("load", None)

17272 if args:

17273 if len(args) > 1:

17274 raise TypeError("cannot create a YANG container with >1 argument")

17275 all_attr = True

17276 for e in self._pyangbind_elements:

17277 if not hasattr(args[0], e):

17278 all_attr = False

17279 break

17280 if not all_attr:

17281 raise ValueError("Supplied object did not have the correct attributes")

17282 for e in self._pyangbind_elements:

17283 nobj = getattr(args[0], e)

17284 if nobj._changed() is False:

17285 continue

17286 setmethod = getattr(self, "_set_%s" % e)

17287 if load is None:

17288 setmethod(getattr(args[0], e))

17289 else:

17290 setmethod(getattr(args[0], e), load=load)

17291

17292 def _path(self):

17293 if hasattr(self, "_parent"):

17294 return self._parent._path()+[self._yang_name]

17295 else:

17296 return ['vnfd', 'df', 'lcm-operations-configuration', 'terminate-vnf-op-config']

17297

17298 def _get_min_graceful_termination(self):

17299 """

17300 Getter method for min_graceful_termination, mapped from YANG variable /vnfd/df/lcm_operations_configuration/terminate_vnf_op_config/min_graceful_termination (yang:timeticks)

17301

17302 YANG Description: Minimum timeout value for graceful termination of

17303 a VNF instance.

17304 """

17305 return self.__min_graceful_termination

17306

17307 def _set_min_graceful_termination(self, v, load=False):

17308 """

17309 Setter method for min_graceful_termination, mapped from YANG variable /vnfd/df/lcm_operations_configuration/terminate_vnf_op_config/min_graceful_termination (yang:timeticks)

17310 If this variable is read-only (config: false) in the

17311 source YANG file, then _set_min_graceful_termination is considered as a private

17312 method. Backends looking to populate this variable should

17313 do so via calling thisObj._set_min_graceful_termination() directly.

17314

17315 YANG Description: Minimum timeout value for graceful termination of

17316 a VNF instance.

17317 """

17318 if hasattr(v, "_utype"):

17319 v = v._utype(v)

17320 try:

17321 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)(1), is_leaf=True, yang_name="min-graceful-termination", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='urn:etsi:nfv:yang:etsi-nfv-vnfd', defining_module='etsi-nfv-vnfd', yang_type='yang:timeticks', is_config=True)

17322 except (TypeError, ValueError):

17323 raise ValueError({

17324 'error-string': """min_graceful_termination must be of a type compatible with yang:timeticks""",

17325 'defined-type': "yang:timeticks",

17326 '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)(1), is_leaf=True, yang_name="min-graceful-termination", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='urn:etsi:nfv:yang:etsi-nfv-vnfd', defining_module='etsi-nfv-vnfd', yang_type='yang:timeticks', is_config=True)""",

17327 })

17328

17329 self.__min_graceful_termination = t

17330 if hasattr(self, '_set'):

17331 self._set()

17332

17333 def _unset_min_graceful_termination(self):

17334 self.__min_graceful_termination = 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)(1), is_leaf=True, yang_name="min-graceful-termination", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='urn:etsi:nfv:yang:etsi-nfv-vnfd', defining_module='etsi-nfv-vnfd', yang_type='yang:timeticks', is_config=True)

17335

17336

17337 def _get_max_recommended_graceful_termination(self):

17338 """

17339 Getter method for max_recommended_graceful_termination, mapped from YANG variable /vnfd/df/lcm_operations_configuration/terminate_vnf_op_config/max_recommended_graceful_termination (yang:timeticks)

17340

17341 YANG Description: Maximum recommended timeout value that can be needed

17342 to gracefully terminate a VNF instance of a

17343 particular type under certain conditions, such as

17344 maximum load condition. This is provided by VNF

17345 provider as information for the operator

17346 facilitating the selection of optimal timeout value.

17347 This value is not used as constraint.

17348 """

17349 return self.__max_recommended_graceful_termination

17350

17351 def _set_max_recommended_graceful_termination(self, v, load=False):

17352 """

17353 Setter method for max_recommended_graceful_termination, mapped from YANG variable /vnfd/df/lcm_operations_configuration/terminate_vnf_op_config/max_recommended_graceful_termination (yang:timeticks)

17354 If this variable is read-only (config: false) in the

17355 source YANG file, then _set_max_recommended_graceful_termination is considered as a private

17356 method. Backends looking to populate this variable should

17357 do so via calling thisObj._set_max_recommended_graceful_termination() directly.

17358

17359 YANG Description: Maximum recommended timeout value that can be needed

17360 to gracefully terminate a VNF instance of a

17361 particular type under certain conditions, such as

17362 maximum load condition. This is provided by VNF

17363 provider as information for the operator

17364 facilitating the selection of optimal timeout value.

17365 This value is not used as constraint.

17366 """

17367 if hasattr(v, "_utype"):

17368 v = v._utype(v)

17369 try:

17370 t = YANGDynClass(v,base=RestrictedClassType(base_type=long, restriction_dict={'range': ['0..4294967295']}, int_size=32), is_leaf=True, yang_name="max-recommended-graceful-termination", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='urn:etsi:nfv:yang:etsi-nfv-vnfd', defining_module='etsi-nfv-vnfd', yang_type='yang:timeticks', is_config=True)

17371 except (TypeError, ValueError):

17372 raise ValueError({

17373 'error-string': """max_recommended_graceful_termination must be of a type compatible with yang:timeticks""",

17374 'defined-type': "yang:timeticks",

17375 'generated-type': """YANGDynClass(base=RestrictedClassType(base_type=long, restriction_dict={'range': ['0..4294967295']}, int_size=32), is_leaf=True, yang_name="max-recommended-graceful-termination", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='urn:etsi:nfv:yang:etsi-nfv-vnfd', defining_module='etsi-nfv-vnfd', yang_type='yang:timeticks', is_config=True)""",

17376 })

17377

17378 self.__max_recommended_graceful_termination = t

17379 if hasattr(self, '_set'):

17380 self._set()

17381

17382 def _unset_max_recommended_graceful_termination(self):

17383 self.__max_recommended_graceful_termination = YANGDynClass(base=RestrictedClassType(base_type=long, restriction_dict={'range': ['0..4294967295']}, int_size=32), is_leaf=True, yang_name="max-recommended-graceful-termination", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='urn:etsi:nfv:yang:etsi-nfv-vnfd', defining_module='etsi-nfv-vnfd', yang_type='yang:timeticks', is_config=True)

17384

17385

17386 def _get_parameter(self):

17387 """

17388 Getter method for parameter, mapped from YANG variable /vnfd/df/lcm_operations_configuration/terminate_vnf_op_config/parameter (list)

17389

17390 YANG Description: Array of KVP requirements for VNF-specific parameters

17391 to be passed when invoking the TerminateVnf

17392 operation.

17393 """

17394 return self.__parameter

17395

17396 def _set_parameter(self, v, load=False):

17397 """

17398 Setter method for parameter, mapped from YANG variable /vnfd/df/lcm_operations_configuration/terminate_vnf_op_config/parameter (list)

17399 If this variable is read-only (config: false) in the

17400 source YANG file, then _set_parameter is considered as a private

17401 method. Backends looking to populate this variable should

17402 do so via calling thisObj._set_parameter() directly.

17403

17404 YANG Description: Array of KVP requirements for VNF-specific parameters

17405 to be passed when invoking the TerminateVnf

17406 operation.

17407 """

17408 if hasattr(v, "_utype"):

17409 v = v._utype(v)

17410 try:

17411 t = YANGDynClass(v,base=YANGListType("key",yc_parameter_etsi_nfv_vnfd__vnfd_df_lcm_operations_configuration_terminate_vnf_op_config_parameter, yang_name="parameter", parent=self, is_container='list', user_ordered=False, path_helper=self._path_helper, yang_keys='key', extensions=None), is_container='list', yang_name="parameter", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, extensions=None, namespace='urn:etsi:nfv:yang:etsi-nfv-vnfd', defining_module='etsi-nfv-vnfd', yang_type='list', is_config=True)

17412 except (TypeError, ValueError):

17413 raise ValueError({

17414 'error-string': """parameter must be of a type compatible with list""",

17415 'defined-type': "list",

17416 'generated-type': """YANGDynClass(base=YANGListType("key",yc_parameter_etsi_nfv_vnfd__vnfd_df_lcm_operations_configuration_terminate_vnf_op_config_parameter, yang_name="parameter", parent=self, is_container='list', user_ordered=False, path_helper=self._path_helper, yang_keys='key', extensions=None), is_container='list', yang_name="parameter", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, extensions=None, namespace='urn:etsi:nfv:yang:etsi-nfv-vnfd', defining_module='etsi-nfv-vnfd', yang_type='list', is_config=True)""",

17417 })

17418

17419 self.__parameter = t

17420 if hasattr(self, '_set'):

17421 self._set()

17422

17423 def _unset_parameter(self):

17424 self.__parameter = YANGDynClass(base=YANGListType("key",yc_parameter_etsi_nfv_vnfd__vnfd_df_lcm_operations_configuration_terminate_vnf_op_config_parameter, yang_name="parameter", parent=self, is_container='list', user_ordered=False, path_helper=self._path_helper, yang_keys='key', extensions=None), is_container='list', yang_name="parameter", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, extensions=None, namespace='urn:etsi:nfv:yang:etsi-nfv-vnfd', defining_module='etsi-nfv-vnfd', yang_type='list', is_config=True)

17425

17426 min_graceful_termination = __builtin__.property(_get_min_graceful_termination, _set_min_graceful_termination)

17427 max_recommended_graceful_termination = __builtin__.property(_get_max_recommended_graceful_termination, _set_max_recommended_graceful_termination)

17428 parameter = __builtin__.property(_get_parameter, _set_parameter)

17429

17430

17431 _pyangbind_elements = OrderedDict([('min_graceful_termination', min_graceful_termination), ('max_recommended_graceful_termination', max_recommended_graceful_termination), ('parameter', parameter), ])

17432

17433

17434 class yc_parameter_etsi_nfv_vnfd__vnfd_df_lcm_operations_configuration_operate_vnf_op_config_parameter(PybindBase):

17435 """

17436 This class was auto-generated by the PythonClass plugin for PYANG

17437 from YANG module etsi-nfv-vnfd - based on the path /vnfd/df/lcm-operations-configuration/operate-vnf-op-config/parameter. Each member element of

17438 the container is represented as a class variable - with a specific

17439 YANG type.

17440

17441 YANG Description: Array of KVP requirements for VNF-specific parameters

17442 to be passed when invoking the OperateVnf

17443 operation.

17444 """

17445 __slots__ = ('_path_helper', '_extmethods', '__key','__value',)

17446

17447 _yang_name = 'parameter'

17448 _yang_namespace = 'urn:etsi:nfv:yang:etsi-nfv-vnfd'

17449

17450 _pybind_generated_by = 'container'

17451

17452 def __init__(self, *args, **kwargs):

17453

17454 self._path_helper = False

17455

17456 self._extmethods = False

17457 self.__key = YANGDynClass(base=str, is_leaf=True, yang_name="key", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, is_keyval=True, namespace='urn:etsi:nfv:yang:etsi-nfv-vnfd', defining_module='etsi-nfv-vnfd', yang_type='string', is_config=True)

17458 self.__value = YANGDynClass(base=str, is_leaf=True, yang_name="value", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='urn:etsi:nfv:yang:etsi-nfv-vnfd', defining_module='etsi-nfv-vnfd', yang_type='string', is_config=True)

17459

17460 load = kwargs.pop("load", None)

17461 if args:

17462 if len(args) > 1:

17463 raise TypeError("cannot create a YANG container with >1 argument")

17464 all_attr = True

17465 for e in self._pyangbind_elements:

17466 if not hasattr(args[0], e):

17467 all_attr = False

17468 break

17469 if not all_attr:

17470 raise ValueError("Supplied object did not have the correct attributes")

17471 for e in self._pyangbind_elements:

17472 nobj = getattr(args[0], e)

17473 if nobj._changed() is False:

17474 continue

17475 setmethod = getattr(self, "_set_%s" % e)

17476 if load is None:

17477 setmethod(getattr(args[0], e))

17478 else:

17479 setmethod(getattr(args[0], e), load=load)

17480

17481 def _path(self):

17482 if hasattr(self, "_parent"):

17483 return self._parent._path()+[self._yang_name]

17484 else:

17485 return ['vnfd', 'df', 'lcm-operations-configuration', 'operate-vnf-op-config', 'parameter']

17486

17487 def _get_key(self):

17488 """

17489 Getter method for key, mapped from YANG variable /vnfd/df/lcm_operations_configuration/operate_vnf_op_config/parameter/key (string)

17490 """

17491 return self.__key

17492

17493 def _set_key(self, v, load=False):

17494 """

17495 Setter method for key, mapped from YANG variable /vnfd/df/lcm_operations_configuration/operate_vnf_op_config/parameter/key (string)

17496 If this variable is read-only (config: false) in the

17497 source YANG file, then _set_key is considered as a private

17498 method. Backends looking to populate this variable should

17499 do so via calling thisObj._set_key() directly.

17500 """

17501 parent = getattr(self, "_parent", None)

17502 if parent is not None and load is False:

17503 raise AttributeError("Cannot set keys directly when" +

17504 " within an instantiated list")

17505

17506 if hasattr(v, "_utype"):

17507 v = v._utype(v)

17508 try:

17509 t = YANGDynClass(v,base=str, is_leaf=True, yang_name="key", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, is_keyval=True, namespace='urn:etsi:nfv:yang:etsi-nfv-vnfd', defining_module='etsi-nfv-vnfd', yang_type='string', is_config=True)

17510 except (TypeError, ValueError):

17511 raise ValueError({

17512 'error-string': """key must be of a type compatible with string""",

17513 'defined-type': "string",

17514 'generated-type': """YANGDynClass(base=str, is_leaf=True, yang_name="key", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, is_keyval=True, namespace='urn:etsi:nfv:yang:etsi-nfv-vnfd', defining_module='etsi-nfv-vnfd', yang_type='string', is_config=True)""",

17515 })

17516

17517 self.__key = t

17518 if hasattr(self, '_set'):

17519 self._set()

17520

17521 def _unset_key(self):

17522 self.__key = YANGDynClass(base=str, is_leaf=True, yang_name="key", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, is_keyval=True, namespace='urn:etsi:nfv:yang:etsi-nfv-vnfd', defining_module='etsi-nfv-vnfd', yang_type='string', is_config=True)

17523

17524

17525 def _get_value(self):

17526 """

17527 Getter method for value, mapped from YANG variable /vnfd/df/lcm_operations_configuration/operate_vnf_op_config/parameter/value (string)

17528 """

17529 return self.__value

17530

17531 def _set_value(self, v, load=False):

17532 """

17533 Setter method for value, mapped from YANG variable /vnfd/df/lcm_operations_configuration/operate_vnf_op_config/parameter/value (string)

17534 If this variable is read-only (config: false) in the

17535 source YANG file, then _set_value is considered as a private

17536 method. Backends looking to populate this variable should

17537 do so via calling thisObj._set_value() directly.

17538 """

17539 if hasattr(v, "_utype"):

17540 v = v._utype(v)

17541 try:

17542 t = YANGDynClass(v,base=str, is_leaf=True, yang_name="value", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='urn:etsi:nfv:yang:etsi-nfv-vnfd', defining_module='etsi-nfv-vnfd', yang_type='string', is_config=True)

17543 except (TypeError, ValueError):

17544 raise ValueError({

17545 'error-string': """value must be of a type compatible with string""",

17546 'defined-type': "string",

17547 'generated-type': """YANGDynClass(base=str, is_leaf=True, yang_name="value", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='urn:etsi:nfv:yang:etsi-nfv-vnfd', defining_module='etsi-nfv-vnfd', yang_type='string', is_config=True)""",

17548 })

17549

17550 self.__value = t

17551 if hasattr(self, '_set'):

17552 self._set()

17553

17554 def _unset_value(self):

17555 self.__value = YANGDynClass(base=str, is_leaf=True, yang_name="value", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='urn:etsi:nfv:yang:etsi-nfv-vnfd', defining_module='etsi-nfv-vnfd', yang_type='string', is_config=True)

17556

17557 key = __builtin__.property(_get_key, _set_key)

17558 value = __builtin__.property(_get_value, _set_value)

17559

17560

17561 _pyangbind_elements = OrderedDict([('key', key), ('value', value), ])

17562

17563

17564 class yc_script_etsi_nfv_vnfd__vnfd_df_lcm_operations_configuration_operate_vnf_op_config_day1_2_script(PybindBase):

17565 """

17566 This class was auto-generated by the PythonClass plugin for PYANG

17567 from YANG module etsi-nfv-vnfd - based on the path /vnfd/df/lcm-operations-configuration/operate-vnf-op-config/day1-2/script. Each member element of

17568 the container is represented as a class variable - with a specific

17569 YANG type.

17570 """

17571 __slots__ = ('_path_helper', '_extmethods', '__script_type',)

17572

17573 _yang_name = 'script'

17574 _yang_namespace = 'urn:etsi:nfv:yang:etsi-nfv-vnfd'

17575

17576 _pybind_generated_by = 'container'

17577

17578 def __init__(self, *args, **kwargs):

17579

17580 self._path_helper = False

17581

17582 self._extmethods = False

17583 self.__script_type = YANGDynClass(base=RestrictedClassType(base_type=str, restriction_type="dict_key", restriction_arg={'rift': {}},), is_leaf=True, yang_name="script-type", parent=self, choice=('config-method', 'script'), path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='urn:etsi:osm:yang:augments:day1-2', defining_module='day1-2', yang_type='enumeration', is_config=True)

17584

17585 load = kwargs.pop("load", None)

17586 if args:

17587 if len(args) > 1:

17588 raise TypeError("cannot create a YANG container with >1 argument")

17589 all_attr = True

17590 for e in self._pyangbind_elements:

17591 if not hasattr(args[0], e):

17592 all_attr = False

17593 break

17594 if not all_attr:

17595 raise ValueError("Supplied object did not have the correct attributes")

17596 for e in self._pyangbind_elements:

17597 nobj = getattr(args[0], e)

17598 if nobj._changed() is False:

17599 continue

17600 setmethod = getattr(self, "_set_%s" % e)

17601 if load is None:

17602 setmethod(getattr(args[0], e))

17603 else:

17604 setmethod(getattr(args[0], e), load=load)

17605

17606 def _path(self):

17607 if hasattr(self, "_parent"):

17608 return self._parent._path()+[self._yang_name]

17609 else:

17610 return ['vnfd', 'df', 'lcm-operations-configuration', 'operate-vnf-op-config', 'day1-2', 'script']

17611

17612 def _get_script_type(self):

17613 """

17614 Getter method for script_type, mapped from YANG variable /vnfd/df/lcm_operations_configuration/operate_vnf_op_config/day1_2/script/script_type (enumeration)

17615

17616 YANG Description: Script type - currently supported - Scripts confirming to Rift CA plugin

17617 """

17618 return self.__script_type

17619

17620 def _set_script_type(self, v, load=False):

17621 """

17622 Setter method for script_type, mapped from YANG variable /vnfd/df/lcm_operations_configuration/operate_vnf_op_config/day1_2/script/script_type (enumeration)

17623 If this variable is read-only (config: false) in the

17624 source YANG file, then _set_script_type is considered as a private

17625 method. Backends looking to populate this variable should

17626 do so via calling thisObj._set_script_type() directly.

17627

17628 YANG Description: Script type - currently supported - Scripts confirming to Rift CA plugin

17629 """

17630 if hasattr(v, "_utype"):

17631 v = v._utype(v)

17632 try:

17633 t = YANGDynClass(v,base=RestrictedClassType(base_type=str, restriction_type="dict_key", restriction_arg={'rift': {}},), is_leaf=True, yang_name="script-type", parent=self, choice=('config-method', 'script'), path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='urn:etsi:osm:yang:augments:day1-2', defining_module='day1-2', yang_type='enumeration', is_config=True)

17634 except (TypeError, ValueError):

17635 raise ValueError({

17636 'error-string': """script_type must be of a type compatible with enumeration""",

17637 'defined-type': "day1-2:enumeration",

17638 'generated-type': """YANGDynClass(base=RestrictedClassType(base_type=str, restriction_type="dict_key", restriction_arg={'rift': {}},), is_leaf=True, yang_name="script-type", parent=self, choice=('config-method', 'script'), path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='urn:etsi:osm:yang:augments:day1-2', defining_module='day1-2', yang_type='enumeration', is_config=True)""",

17639 })

17640

17641 self.__script_type = t

17642 if hasattr(self, '_set'):

17643 self._set()

17644

17645 def _unset_script_type(self):

17646 self.__script_type = YANGDynClass(base=RestrictedClassType(base_type=str, restriction_type="dict_key", restriction_arg={'rift': {}},), is_leaf=True, yang_name="script-type", parent=self, choice=('config-method', 'script'), path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='urn:etsi:osm:yang:augments:day1-2', defining_module='day1-2', yang_type='enumeration', is_config=True)

17647

17648 script_type = __builtin__.property(_get_script_type, _set_script_type)

17649

17650 __choices__ = {'config-method': {'script': ['script_type']}}

17651 _pyangbind_elements = OrderedDict([('script_type', script_type), ])

17652

17653

17654 class yc_juju_etsi_nfv_vnfd__vnfd_df_lcm_operations_configuration_operate_vnf_op_config_day1_2_juju(PybindBase):

17655 """

17656 This class was auto-generated by the PythonClass plugin for PYANG

17657 from YANG module etsi-nfv-vnfd - based on the path /vnfd/df/lcm-operations-configuration/operate-vnf-op-config/day1-2/juju. Each member element of

17658 the container is represented as a class variable - with a specific

17659 YANG type.

17660 """

17661 __slots__ = ('_path_helper', '_extmethods', '__charm','__proxy','__cloud',)

17662

17663 _yang_name = 'juju'

17664 _yang_namespace = 'urn:etsi:nfv:yang:etsi-nfv-vnfd'

17665

17666 _pybind_generated_by = 'container'

17667

17668 def __init__(self, *args, **kwargs):

17669

17670 self._path_helper = False

17671

17672 self._extmethods = False

17673 self.__charm = YANGDynClass(base=str, is_leaf=True, yang_name="charm", parent=self, choice=('config-method', 'juju'), path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='urn:etsi:osm:yang:augments:day1-2', defining_module='day1-2', yang_type='string', is_config=True)

17674 self.__proxy = YANGDynClass(base=YANGBool, default=YANGBool("true"), is_leaf=True, yang_name="proxy", parent=self, choice=('config-method', 'juju'), path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='urn:etsi:osm:yang:augments:day1-2', defining_module='day1-2', yang_type='boolean', is_config=True)

17675 self.__cloud = YANGDynClass(base=RestrictedClassType(base_type=str, restriction_type="dict_key", restriction_arg={'lxd': {}, 'k8s': {}},), default=str("lxd"), is_leaf=True, yang_name="cloud", parent=self, choice=('config-method', 'juju'), path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='urn:etsi:osm:yang:augments:day1-2', defining_module='day1-2', yang_type='enumeration', is_config=True)

17676

17677 load = kwargs.pop("load", None)

17678 if args:

17679 if len(args) > 1:

17680 raise TypeError("cannot create a YANG container with >1 argument")

17681 all_attr = True

17682 for e in self._pyangbind_elements:

17683 if not hasattr(args[0], e):

17684 all_attr = False

17685 break

17686 if not all_attr:

17687 raise ValueError("Supplied object did not have the correct attributes")

17688 for e in self._pyangbind_elements:

17689 nobj = getattr(args[0], e)

17690 if nobj._changed() is False:

17691 continue

17692 setmethod = getattr(self, "_set_%s" % e)

17693 if load is None:

17694 setmethod(getattr(args[0], e))

17695 else:

17696 setmethod(getattr(args[0], e), load=load)

17697

17698 def _path(self):

17699 if hasattr(self, "_parent"):

17700 return self._parent._path()+[self._yang_name]

17701 else:

17702 return ['vnfd', 'df', 'lcm-operations-configuration', 'operate-vnf-op-config', 'day1-2', 'juju']

17703

17704 def _get_charm(self):

17705 """

17706 Getter method for charm, mapped from YANG variable /vnfd/df/lcm_operations_configuration/operate_vnf_op_config/day1_2/juju/charm (string)

17707

17708 YANG Description: Juju charm to use with the VNF or VDU.

17709 """

17710 return self.__charm

17711

17712 def _set_charm(self, v, load=False):

17713 """

17714 Setter method for charm, mapped from YANG variable /vnfd/df/lcm_operations_configuration/operate_vnf_op_config/day1_2/juju/charm (string)

17715 If this variable is read-only (config: false) in the

17716 source YANG file, then _set_charm is considered as a private

17717 method. Backends looking to populate this variable should

17718 do so via calling thisObj._set_charm() directly.

17719

17720 YANG Description: Juju charm to use with the VNF or VDU.

17721 """

17722 if hasattr(v, "_utype"):

17723 v = v._utype(v)

17724 try:

17725 t = YANGDynClass(v,base=str, is_leaf=True, yang_name="charm", parent=self, choice=('config-method', 'juju'), path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='urn:etsi:osm:yang:augments:day1-2', defining_module='day1-2', yang_type='string', is_config=True)

17726 except (TypeError, ValueError):

17727 raise ValueError({

17728 'error-string': """charm must be of a type compatible with string""",

17729 'defined-type': "string",

17730 'generated-type': """YANGDynClass(base=str, is_leaf=True, yang_name="charm", parent=self, choice=('config-method', 'juju'), path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='urn:etsi:osm:yang:augments:day1-2', defining_module='day1-2', yang_type='string', is_config=True)""",

17731 })

17732

17733 self.__charm = t

17734 if hasattr(self, '_set'):

17735 self._set()

17736

17737 def _unset_charm(self):

17738 self.__charm = YANGDynClass(base=str, is_leaf=True, yang_name="charm", parent=self, choice=('config-method', 'juju'), path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='urn:etsi:osm:yang:augments:day1-2', defining_module='day1-2', yang_type='string', is_config=True)

17739

17740

17741 def _get_proxy(self):

17742 """

17743 Getter method for proxy, mapped from YANG variable /vnfd/df/lcm_operations_configuration/operate_vnf_op_config/day1_2/juju/proxy (boolean)

17744

17745 YANG Description: Is this a proxy charm?

17746 """

17747 return self.__proxy

17748

17749 def _set_proxy(self, v, load=False):

17750 """

17751 Setter method for proxy, mapped from YANG variable /vnfd/df/lcm_operations_configuration/operate_vnf_op_config/day1_2/juju/proxy (boolean)

17752 If this variable is read-only (config: false) in the

17753 source YANG file, then _set_proxy is considered as a private

17754 method. Backends looking to populate this variable should

17755 do so via calling thisObj._set_proxy() directly.

17756

17757 YANG Description: Is this a proxy charm?

17758 """

17759 if hasattr(v, "_utype"):

17760 v = v._utype(v)

17761 try:

17762 t = YANGDynClass(v,base=YANGBool, default=YANGBool("true"), is_leaf=True, yang_name="proxy", parent=self, choice=('config-method', 'juju'), path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='urn:etsi:osm:yang:augments:day1-2', defining_module='day1-2', yang_type='boolean', is_config=True)

17763 except (TypeError, ValueError):

17764 raise ValueError({

17765 'error-string': """proxy must be of a type compatible with boolean""",

17766 'defined-type': "boolean",

17767 'generated-type': """YANGDynClass(base=YANGBool, default=YANGBool("true"), is_leaf=True, yang_name="proxy", parent=self, choice=('config-method', 'juju'), path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='urn:etsi:osm:yang:augments:day1-2', defining_module='day1-2', yang_type='boolean', is_config=True)""",

17768 })

17769

17770 self.__proxy = t

17771 if hasattr(self, '_set'):

17772 self._set()

17773

17774 def _unset_proxy(self):

17775 self.__proxy = YANGDynClass(base=YANGBool, default=YANGBool("true"), is_leaf=True, yang_name="proxy", parent=self, choice=('config-method', 'juju'), path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='urn:etsi:osm:yang:augments:day1-2', defining_module='day1-2', yang_type='boolean', is_config=True)

17776

17777

17778 def _get_cloud(self):

17779 """

17780 Getter method for cloud, mapped from YANG variable /vnfd/df/lcm_operations_configuration/operate_vnf_op_config/day1_2/juju/cloud (enumeration)

17781

17782 YANG Description: Type of cloud where the charm will be deployed. It only

17783 applies to proxy charms (not native)

17784 """

17785 return self.__cloud

17786

17787 def _set_cloud(self, v, load=False):

17788 """

17789 Setter method for cloud, mapped from YANG variable /vnfd/df/lcm_operations_configuration/operate_vnf_op_config/day1_2/juju/cloud (enumeration)

17790 If this variable is read-only (config: false) in the

17791 source YANG file, then _set_cloud is considered as a private

17792 method. Backends looking to populate this variable should

17793 do so via calling thisObj._set_cloud() directly.

17794

17795 YANG Description: Type of cloud where the charm will be deployed. It only

17796 applies to proxy charms (not native)

17797 """

17798 if hasattr(v, "_utype"):

17799 v = v._utype(v)

17800 try:

17801 t = YANGDynClass(v,base=RestrictedClassType(base_type=str, restriction_type="dict_key", restriction_arg={'lxd': {}, 'k8s': {}},), default=str("lxd"), is_leaf=True, yang_name="cloud", parent=self, choice=('config-method', 'juju'), path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='urn:etsi:osm:yang:augments:day1-2', defining_module='day1-2', yang_type='enumeration', is_config=True)

17802 except (TypeError, ValueError):

17803 raise ValueError({

17804 'error-string': """cloud must be of a type compatible with enumeration""",

17805 'defined-type': "day1-2:enumeration",

17806 'generated-type': """YANGDynClass(base=RestrictedClassType(base_type=str, restriction_type="dict_key", restriction_arg={'lxd': {}, 'k8s': {}},), default=str("lxd"), is_leaf=True, yang_name="cloud", parent=self, choice=('config-method', 'juju'), path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='urn:etsi:osm:yang:augments:day1-2', defining_module='day1-2', yang_type='enumeration', is_config=True)""",

17807 })

17808

17809 self.__cloud = t

17810 if hasattr(self, '_set'):

17811 self._set()

17812

17813 def _unset_cloud(self):

17814 self.__cloud = YANGDynClass(base=RestrictedClassType(base_type=str, restriction_type="dict_key", restriction_arg={'lxd': {}, 'k8s': {}},), default=str("lxd"), is_leaf=True, yang_name="cloud", parent=self, choice=('config-method', 'juju'), path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='urn:etsi:osm:yang:augments:day1-2', defining_module='day1-2', yang_type='enumeration', is_config=True)

17815

17816 charm = __builtin__.property(_get_charm, _set_charm)

17817 proxy = __builtin__.property(_get_proxy, _set_proxy)

17818 cloud = __builtin__.property(_get_cloud, _set_cloud)

17819

17820 __choices__ = {'config-method': {'juju': ['charm', 'proxy', 'cloud']}}

17821 _pyangbind_elements = OrderedDict([('charm', charm), ('proxy', proxy), ('cloud', cloud), ])

17822

17823

17824 class yc_juju_etsi_nfv_vnfd__vnfd_df_lcm_operations_configuration_operate_vnf_op_config_day1_2_execution_environment_list_juju(PybindBase):

17825 """

17826 This class was auto-generated by the PythonClass plugin for PYANG

17827 from YANG module etsi-nfv-vnfd - based on the path /vnfd/df/lcm-operations-configuration/operate-vnf-op-config/day1-2/execution-environment-list/juju. Each member element of

17828 the container is represented as a class variable - with a specific

17829 YANG type.

17830 """

17831 __slots__ = ('_path_helper', '_extmethods', '__charm','__proxy','__cloud',)

17832

17833 _yang_name = 'juju'

17834 _yang_namespace = 'urn:etsi:nfv:yang:etsi-nfv-vnfd'

17835

17836 _pybind_generated_by = 'container'

17837

17838 def __init__(self, *args, **kwargs):

17839

17840 self._path_helper = False

17841

17842 self._extmethods = False

17843 self.__charm = YANGDynClass(base=str, is_leaf=True, yang_name="charm", parent=self, choice=('execution-environment-model', 'juju'), path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='urn:etsi:osm:yang:augments:day1-2', defining_module='day1-2', yang_type='string', is_config=True)

17844 self.__proxy = YANGDynClass(base=YANGBool, default=YANGBool("true"), is_leaf=True, yang_name="proxy", parent=self, choice=('execution-environment-model', 'juju'), path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='urn:etsi:osm:yang:augments:day1-2', defining_module='day1-2', yang_type='boolean', is_config=True)

17845 self.__cloud = YANGDynClass(base=RestrictedClassType(base_type=str, restriction_type="dict_key", restriction_arg={'lxd': {}, 'k8s': {}},), default=str("lxd"), is_leaf=True, yang_name="cloud", parent=self, choice=('execution-environment-model', 'juju'), path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='urn:etsi:osm:yang:augments:day1-2', defining_module='day1-2', yang_type='enumeration', is_config=True)

17846

17847 load = kwargs.pop("load", None)

17848 if args:

17849 if len(args) > 1:

17850 raise TypeError("cannot create a YANG container with >1 argument")

17851 all_attr = True

17852 for e in self._pyangbind_elements:

17853 if not hasattr(args[0], e):

17854 all_attr = False

17855 break

17856 if not all_attr:

17857 raise ValueError("Supplied object did not have the correct attributes")

17858 for e in self._pyangbind_elements:

17859 nobj = getattr(args[0], e)

17860 if nobj._changed() is False:

17861 continue

17862 setmethod = getattr(self, "_set_%s" % e)

17863 if load is None:

17864 setmethod(getattr(args[0], e))

17865 else:

17866 setmethod(getattr(args[0], e), load=load)

17867

17868 def _path(self):

17869 if hasattr(self, "_parent"):

17870 return self._parent._path()+[self._yang_name]

17871 else:

17872 return ['vnfd', 'df', 'lcm-operations-configuration', 'operate-vnf-op-config', 'day1-2', 'execution-environment-list', 'juju']

17873

17874 def _get_charm(self):

17875 """

17876 Getter method for charm, mapped from YANG variable /vnfd/df/lcm_operations_configuration/operate_vnf_op_config/day1_2/execution_environment_list/juju/charm (string)

17877

17878 YANG Description: Juju charm to use with the VNF or VDU.

17879 """

17880 return self.__charm

17881

17882 def _set_charm(self, v, load=False):

17883 """

17884 Setter method for charm, mapped from YANG variable /vnfd/df/lcm_operations_configuration/operate_vnf_op_config/day1_2/execution_environment_list/juju/charm (string)

17885 If this variable is read-only (config: false) in the

17886 source YANG file, then _set_charm is considered as a private

17887 method. Backends looking to populate this variable should

17888 do so via calling thisObj._set_charm() directly.

17889

17890 YANG Description: Juju charm to use with the VNF or VDU.

17891 """

17892 if hasattr(v, "_utype"):

17893 v = v._utype(v)

17894 try:

17895 t = YANGDynClass(v,base=str, is_leaf=True, yang_name="charm", parent=self, choice=('execution-environment-model', 'juju'), path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='urn:etsi:osm:yang:augments:day1-2', defining_module='day1-2', yang_type='string', is_config=True)

17896 except (TypeError, ValueError):

17897 raise ValueError({

17898 'error-string': """charm must be of a type compatible with string""",

17899 'defined-type': "string",

17900 'generated-type': """YANGDynClass(base=str, is_leaf=True, yang_name="charm", parent=self, choice=('execution-environment-model', 'juju'), path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='urn:etsi:osm:yang:augments:day1-2', defining_module='day1-2', yang_type='string', is_config=True)""",

17901 })

17902

17903 self.__charm = t

17904 if hasattr(self, '_set'):

17905 self._set()

17906

17907 def _unset_charm(self):

17908 self.__charm = YANGDynClass(base=str, is_leaf=True, yang_name="charm", parent=self, choice=('execution-environment-model', 'juju'), path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='urn:etsi:osm:yang:augments:day1-2', defining_module='day1-2', yang_type='string', is_config=True)

17909

17910

17911 def _get_proxy(self):

17912 """

17913 Getter method for proxy, mapped from YANG variable /vnfd/df/lcm_operations_configuration/operate_vnf_op_config/day1_2/execution_environment_list/juju/proxy (boolean)

17914

17915 YANG Description: Is this a proxy charm?

17916 """

17917 return self.__proxy

17918

17919 def _set_proxy(self, v, load=False):

17920 """

17921 Setter method for proxy, mapped from YANG variable /vnfd/df/lcm_operations_configuration/operate_vnf_op_config/day1_2/execution_environment_list/juju/proxy (boolean)

17922 If this variable is read-only (config: false) in the

17923 source YANG file, then _set_proxy is considered as a private

17924 method. Backends looking to populate this variable should

17925 do so via calling thisObj._set_proxy() directly.

17926

17927 YANG Description: Is this a proxy charm?

17928 """

17929 if hasattr(v, "_utype"):

17930 v = v._utype(v)

17931 try:

17932 t = YANGDynClass(v,base=YANGBool, default=YANGBool("true"), is_leaf=True, yang_name="proxy", parent=self, choice=('execution-environment-model', 'juju'), path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='urn:etsi:osm:yang:augments:day1-2', defining_module='day1-2', yang_type='boolean', is_config=True)

17933 except (TypeError, ValueError):

17934 raise ValueError({

17935 'error-string': """proxy must be of a type compatible with boolean""",

17936 'defined-type': "boolean",

17937 'generated-type': """YANGDynClass(base=YANGBool, default=YANGBool("true"), is_leaf=True, yang_name="proxy", parent=self, choice=('execution-environment-model', 'juju'), path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='urn:etsi:osm:yang:augments:day1-2', defining_module='day1-2', yang_type='boolean', is_config=True)""",

17938 })

17939

17940 self.__proxy = t

17941 if hasattr(self, '_set'):

17942 self._set()

17943

17944 def _unset_proxy(self):

17945 self.__proxy = YANGDynClass(base=YANGBool, default=YANGBool("true"), is_leaf=True, yang_name="proxy", parent=self, choice=('execution-environment-model', 'juju'), path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='urn:etsi:osm:yang:augments:day1-2', defining_module='day1-2', yang_type='boolean', is_config=True)

17946

17947

17948 def _get_cloud(self):

17949 """

17950 Getter method for cloud, mapped from YANG variable /vnfd/df/lcm_operations_configuration/operate_vnf_op_config/day1_2/execution_environment_list/juju/cloud (enumeration)

17951

17952 YANG Description: Type of cloud where the charm will be deployed. It only

17953 applies to proxy charms (not native)

17954 """

17955 return self.__cloud

17956

17957 def _set_cloud(self, v, load=False):

17958 """

17959 Setter method for cloud, mapped from YANG variable /vnfd/df/lcm_operations_configuration/operate_vnf_op_config/day1_2/execution_environment_list/juju/cloud (enumeration)

17960 If this variable is read-only (config: false) in the

17961 source YANG file, then _set_cloud is considered as a private

17962 method. Backends looking to populate this variable should

17963 do so via calling thisObj._set_cloud() directly.

17964

17965 YANG Description: Type of cloud where the charm will be deployed. It only

17966 applies to proxy charms (not native)

17967 """

17968 if hasattr(v, "_utype"):

17969 v = v._utype(v)

17970 try:

17971 t = YANGDynClass(v,base=RestrictedClassType(base_type=str, restriction_type="dict_key", restriction_arg={'lxd': {}, 'k8s': {}},), default=str("lxd"), is_leaf=True, yang_name="cloud", parent=self, choice=('execution-environment-model', 'juju'), path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='urn:etsi:osm:yang:augments:day1-2', defining_module='day1-2', yang_type='enumeration', is_config=True)

17972 except (TypeError, ValueError):

17973 raise ValueError({

17974 'error-string': """cloud must be of a type compatible with enumeration""",

17975 'defined-type': "day1-2:enumeration",

17976 'generated-type': """YANGDynClass(base=RestrictedClassType(base_type=str, restriction_type="dict_key", restriction_arg={'lxd': {}, 'k8s': {}},), default=str("lxd"), is_leaf=True, yang_name="cloud", parent=self, choice=('execution-environment-model', 'juju'), path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='urn:etsi:osm:yang:augments:day1-2', defining_module='day1-2', yang_type='enumeration', is_config=True)""",

17977 })

17978

17979 self.__cloud = t

17980 if hasattr(self, '_set'):

17981 self._set()

17982

17983 def _unset_cloud(self):

17984 self.__cloud = YANGDynClass(base=RestrictedClassType(base_type=str, restriction_type="dict_key", restriction_arg={'lxd': {}, 'k8s': {}},), default=str("lxd"), is_leaf=True, yang_name="cloud", parent=self, choice=('execution-environment-model', 'juju'), path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='urn:etsi:osm:yang:augments:day1-2', defining_module='day1-2', yang_type='enumeration', is_config=True)

17985

17986 charm = __builtin__.property(_get_charm, _set_charm)

17987 proxy = __builtin__.property(_get_proxy, _set_proxy)

17988 cloud = __builtin__.property(_get_cloud, _set_cloud)

17989

17990 __choices__ = {'execution-environment-model': {'juju': ['charm', 'proxy', 'cloud']}}

17991 _pyangbind_elements = OrderedDict([('charm', charm), ('proxy', proxy), ('cloud', cloud), ])

17992

17993

17994 class yc_execution_environment_list_etsi_nfv_vnfd__vnfd_df_lcm_operations_configuration_operate_vnf_op_config_day1_2_execution_environment_list(PybindBase):

17995 """

17996 This class was auto-generated by the PythonClass plugin for PYANG

17997 from YANG module etsi-nfv-vnfd - based on the path /vnfd/df/lcm-operations-configuration/operate-vnf-op-config/day1-2/execution-environment-list. Each member element of

17998 the container is represented as a class variable - with a specific

17999 YANG type.

18000 """

18001 __slots__ = ('_path_helper', '_extmethods', '__id','__juju','__helm_chart','__helm_version','__metric_service','__external_connection_point_ref',)

18002

18003 _yang_name = 'execution-environment-list'

18004 _yang_namespace = 'urn:etsi:nfv:yang:etsi-nfv-vnfd'

18005

18006 _pybind_generated_by = 'container'

18007

18008 def __init__(self, *args, **kwargs):

18009

18010 self._path_helper = False

18011

18012 self._extmethods = False

18013 self.__id = YANGDynClass(base=str, is_leaf=True, yang_name="id", parent=self, choice=('config-method', 'execution-environment-list'), path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, is_keyval=True, namespace='urn:etsi:osm:yang:augments:day1-2', defining_module='day1-2', yang_type='string', is_config=True)

18014 self.__juju = YANGDynClass(base=yc_juju_etsi_nfv_vnfd__vnfd_df_lcm_operations_configuration_operate_vnf_op_config_day1_2_execution_environment_list_juju, is_container='container', yang_name="juju", parent=self, choice=('execution-environment-model', 'juju'), path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, extensions=None, namespace='urn:etsi:osm:yang:augments:day1-2', defining_module='day1-2', yang_type='container', is_config=True)

18015 self.__helm_chart = YANGDynClass(base=str, is_leaf=True, yang_name="helm-chart", parent=self, choice=('execution-environment-model', 'helm-chart'), path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='urn:etsi:osm:yang:augments:day1-2', defining_module='day1-2', yang_type='string', is_config=True)

18016 self.__helm_version = YANGDynClass(base=RestrictedClassType(base_type=str, restriction_type="dict_key", restriction_arg={'v3': {}},), default=str("v3"), is_leaf=True, yang_name="helm-version", parent=self, choice=('execution-environment-model', 'helm-chart'), path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='urn:etsi:osm:yang:augments:day1-2', defining_module='day1-2', yang_type='enumeration', is_config=True)

18017 self.__metric_service = YANGDynClass(base=str, is_leaf=True, yang_name="metric-service", parent=self, choice=('config-method', 'execution-environment-list'), path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='urn:etsi:osm:yang:augments:day1-2', defining_module='day1-2', yang_type='string', is_config=True)

18018 self.__external_connection_point_ref = YANGDynClass(base=str, is_leaf=True, yang_name="external-connection-point-ref", parent=self, choice=('config-method', 'execution-environment-list'), path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='urn:etsi:osm:yang:augments:day1-2', defining_module='day1-2', yang_type='string', is_config=True)

18019

18020 load = kwargs.pop("load", None)

18021 if args:

18022 if len(args) > 1:

18023 raise TypeError("cannot create a YANG container with >1 argument")

18024 all_attr = True

18025 for e in self._pyangbind_elements:

18026 if not hasattr(args[0], e):

18027 all_attr = False

18028 break

18029 if not all_attr:

18030 raise ValueError("Supplied object did not have the correct attributes")

18031 for e in self._pyangbind_elements:

18032 nobj = getattr(args[0], e)

18033 if nobj._changed() is False:

18034 continue

18035 setmethod = getattr(self, "_set_%s" % e)

18036 if load is None:

18037 setmethod(getattr(args[0], e))

18038 else:

18039 setmethod(getattr(args[0], e), load=load)

18040

18041 def _path(self):

18042 if hasattr(self, "_parent"):

18043 return self._parent._path()+[self._yang_name]

18044 else:

18045 return ['vnfd', 'df', 'lcm-operations-configuration', 'operate-vnf-op-config', 'day1-2', 'execution-environment-list']

18046

18047 def _get_id(self):

18048 """

18049 Getter method for id, mapped from YANG variable /vnfd/df/lcm_operations_configuration/operate_vnf_op_config/day1_2/execution_environment_list/id (string)

18050

18051 YANG Description: Execution environment identifier.

18052 """

18053 return self.__id

18054

18055 def _set_id(self, v, load=False):

18056 """

18057 Setter method for id, mapped from YANG variable /vnfd/df/lcm_operations_configuration/operate_vnf_op_config/day1_2/execution_environment_list/id (string)

18058 If this variable is read-only (config: false) in the

18059 source YANG file, then _set_id is considered as a private

18060 method. Backends looking to populate this variable should

18061 do so via calling thisObj._set_id() directly.

18062

18063 YANG Description: Execution environment identifier.

18064 """

18065 parent = getattr(self, "_parent", None)

18066 if parent is not None and load is False:

18067 raise AttributeError("Cannot set keys directly when" +

18068 " within an instantiated list")

18069

18070 if hasattr(v, "_utype"):

18071 v = v._utype(v)

18072 try:

18073 t = YANGDynClass(v,base=str, is_leaf=True, yang_name="id", parent=self, choice=('config-method', 'execution-environment-list'), path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, is_keyval=True, namespace='urn:etsi:osm:yang:augments:day1-2', defining_module='day1-2', yang_type='string', is_config=True)

18074 except (TypeError, ValueError):

18075 raise ValueError({

18076 'error-string': """id must be of a type compatible with string""",

18077 'defined-type': "string",

18078 'generated-type': """YANGDynClass(base=str, is_leaf=True, yang_name="id", parent=self, choice=('config-method', 'execution-environment-list'), path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, is_keyval=True, namespace='urn:etsi:osm:yang:augments:day1-2', defining_module='day1-2', yang_type='string', is_config=True)""",

18079 })

18080

18081 self.__id = t

18082 if hasattr(self, '_set'):

18083 self._set()

18084

18085 def _unset_id(self):

18086 self.__id = YANGDynClass(base=str, is_leaf=True, yang_name="id", parent=self, choice=('config-method', 'execution-environment-list'), path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, is_keyval=True, namespace='urn:etsi:osm:yang:augments:day1-2', defining_module='day1-2', yang_type='string', is_config=True)

18087

18088

18089 def _get_juju(self):

18090 """

18091 Getter method for juju, mapped from YANG variable /vnfd/df/lcm_operations_configuration/operate_vnf_op_config/day1_2/execution_environment_list/juju (container)

18092 """

18093 return self.__juju

18094

18095 def _set_juju(self, v, load=False):

18096 """

18097 Setter method for juju, mapped from YANG variable /vnfd/df/lcm_operations_configuration/operate_vnf_op_config/day1_2/execution_environment_list/juju (container)

18098 If this variable is read-only (config: false) in the

18099 source YANG file, then _set_juju is considered as a private

18100 method. Backends looking to populate this variable should

18101 do so via calling thisObj._set_juju() directly.

18102 """

18103 if hasattr(v, "_utype"):

18104 v = v._utype(v)

18105 try:

18106 t = YANGDynClass(v,base=yc_juju_etsi_nfv_vnfd__vnfd_df_lcm_operations_configuration_operate_vnf_op_config_day1_2_execution_environment_list_juju, is_container='container', yang_name="juju", parent=self, choice=('execution-environment-model', 'juju'), path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, extensions=None, namespace='urn:etsi:osm:yang:augments:day1-2', defining_module='day1-2', yang_type='container', is_config=True)

18107 except (TypeError, ValueError):

18108 raise ValueError({

18109 'error-string': """juju must be of a type compatible with container""",

18110 'defined-type': "container",

18111 'generated-type': """YANGDynClass(base=yc_juju_etsi_nfv_vnfd__vnfd_df_lcm_operations_configuration_operate_vnf_op_config_day1_2_execution_environment_list_juju, is_container='container', yang_name="juju", parent=self, choice=('execution-environment-model', 'juju'), path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, extensions=None, namespace='urn:etsi:osm:yang:augments:day1-2', defining_module='day1-2', yang_type='container', is_config=True)""",

18112 })

18113

18114 self.__juju = t

18115 if hasattr(self, '_set'):

18116 self._set()

18117

18118 def _unset_juju(self):

18119 self.__juju = YANGDynClass(base=yc_juju_etsi_nfv_vnfd__vnfd_df_lcm_operations_configuration_operate_vnf_op_config_day1_2_execution_environment_list_juju, is_container='container', yang_name="juju", parent=self, choice=('execution-environment-model', 'juju'), path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, extensions=None, namespace='urn:etsi:osm:yang:augments:day1-2', defining_module='day1-2', yang_type='container', is_config=True)

18120

18121

18122 def _get_helm_chart(self):

18123 """

18124 Getter method for helm_chart, mapped from YANG variable /vnfd/df/lcm_operations_configuration/operate_vnf_op_config/day1_2/execution_environment_list/helm_chart (string)

18125

18126 YANG Description: Helm chart that models the execution environment, in any of the following ways:

18127- <helm-repo>/<helm-chart>

18128- <helm-chart folder name under helm-charts folder in the package>

18129- <helm-chart tgz file (w/ or w/o extension) under helm-charts folder in the package>

18130- <URL_where_to_fetch_chart>

18131

18132 """

18133 return self.__helm_chart

18134

18135 def _set_helm_chart(self, v, load=False):

18136 """

18137 Setter method for helm_chart, mapped from YANG variable /vnfd/df/lcm_operations_configuration/operate_vnf_op_config/day1_2/execution_environment_list/helm_chart (string)

18138 If this variable is read-only (config: false) in the

18139 source YANG file, then _set_helm_chart is considered as a private

18140 method. Backends looking to populate this variable should

18141 do so via calling thisObj._set_helm_chart() directly.

18142

18143 YANG Description: Helm chart that models the execution environment, in any of the following ways:

18144- <helm-repo>/<helm-chart>

18145- <helm-chart folder name under helm-charts folder in the package>

18146- <helm-chart tgz file (w/ or w/o extension) under helm-charts folder in the package>

18147- <URL_where_to_fetch_chart>

18148

18149 """

18150 if hasattr(v, "_utype"):

18151 v = v._utype(v)

18152 try:

18153 t = YANGDynClass(v,base=str, is_leaf=True, yang_name="helm-chart", parent=self, choice=('execution-environment-model', 'helm-chart'), path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='urn:etsi:osm:yang:augments:day1-2', defining_module='day1-2', yang_type='string', is_config=True)

18154 except (TypeError, ValueError):

18155 raise ValueError({

18156 'error-string': """helm_chart must be of a type compatible with string""",

18157 'defined-type': "string",

18158 'generated-type': """YANGDynClass(base=str, is_leaf=True, yang_name="helm-chart", parent=self, choice=('execution-environment-model', 'helm-chart'), path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='urn:etsi:osm:yang:augments:day1-2', defining_module='day1-2', yang_type='string', is_config=True)""",

18159 })

18160

18161 self.__helm_chart = t

18162 if hasattr(self, '_set'):

18163 self._set()

18164

18165 def _unset_helm_chart(self):

18166 self.__helm_chart = YANGDynClass(base=str, is_leaf=True, yang_name="helm-chart", parent=self, choice=('execution-environment-model', 'helm-chart'), path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='urn:etsi:osm:yang:augments:day1-2', defining_module='day1-2', yang_type='string', is_config=True)

18167

18168

18169 def _get_helm_version(self):

18170 """

18171 Getter method for helm_version, mapped from YANG variable /vnfd/df/lcm_operations_configuration/operate_vnf_op_config/day1_2/execution_environment_list/helm_version (enumeration)

18172

18173 YANG Description: Helm version to use for this helm-chart, v3 by default

18174 """

18175 return self.__helm_version

18176

18177 def _set_helm_version(self, v, load=False):

18178 """

18179 Setter method for helm_version, mapped from YANG variable /vnfd/df/lcm_operations_configuration/operate_vnf_op_config/day1_2/execution_environment_list/helm_version (enumeration)

18180 If this variable is read-only (config: false) in the

18181 source YANG file, then _set_helm_version is considered as a private

18182 method. Backends looking to populate this variable should

18183 do so via calling thisObj._set_helm_version() directly.

18184

18185 YANG Description: Helm version to use for this helm-chart, v3 by default

18186 """

18187 if hasattr(v, "_utype"):

18188 v = v._utype(v)

18189 try:

18190 t = YANGDynClass(v,base=RestrictedClassType(base_type=str, restriction_type="dict_key", restriction_arg={'v3': {}},), default=str("v3"), is_leaf=True, yang_name="helm-version", parent=self, choice=('execution-environment-model', 'helm-chart'), path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='urn:etsi:osm:yang:augments:day1-2', defining_module='day1-2', yang_type='enumeration', is_config=True)

18191 except (TypeError, ValueError):

18192 raise ValueError({

18193 'error-string': """helm_version must be of a type compatible with enumeration""",

18194 'defined-type': "day1-2:enumeration",

18195 'generated-type': """YANGDynClass(base=RestrictedClassType(base_type=str, restriction_type="dict_key", restriction_arg={'v3': {}},), default=str("v3"), is_leaf=True, yang_name="helm-version", parent=self, choice=('execution-environment-model', 'helm-chart'), path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='urn:etsi:osm:yang:augments:day1-2', defining_module='day1-2', yang_type='enumeration', is_config=True)""",

18196 })

18197

18198 self.__helm_version = t

18199 if hasattr(self, '_set'):

18200 self._set()

18201

18202 def _unset_helm_version(self):

18203 self.__helm_version = YANGDynClass(base=RestrictedClassType(base_type=str, restriction_type="dict_key", restriction_arg={'v3': {}},), default=str("v3"), is_leaf=True, yang_name="helm-version", parent=self, choice=('execution-environment-model', 'helm-chart'), path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='urn:etsi:osm:yang:augments:day1-2', defining_module='day1-2', yang_type='enumeration', is_config=True)

18204

18205

18206 def _get_metric_service(self):

18207 """

18208 Getter method for metric_service, mapped from YANG variable /vnfd/df/lcm_operations_configuration/operate_vnf_op_config/day1_2/execution_environment_list/metric_service (string)

18209

18210 YANG Description: Service name in the execution environment. For helm charts, it will be

18211 the name of the kubernetes service used by the exporter to expose metrics

18212 to the OSM collector.

18213

18214 """

18215 return self.__metric_service

18216

18217 def _set_metric_service(self, v, load=False):

18218 """

18219 Setter method for metric_service, mapped from YANG variable /vnfd/df/lcm_operations_configuration/operate_vnf_op_config/day1_2/execution_environment_list/metric_service (string)

18220 If this variable is read-only (config: false) in the

18221 source YANG file, then _set_metric_service is considered as a private

18222 method. Backends looking to populate this variable should

18223 do so via calling thisObj._set_metric_service() directly.

18224

18225 YANG Description: Service name in the execution environment. For helm charts, it will be

18226 the name of the kubernetes service used by the exporter to expose metrics

18227 to the OSM collector.

18228

18229 """

18230 if hasattr(v, "_utype"):

18231 v = v._utype(v)

18232 try:

18233 t = YANGDynClass(v,base=str, is_leaf=True, yang_name="metric-service", parent=self, choice=('config-method', 'execution-environment-list'), path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='urn:etsi:osm:yang:augments:day1-2', defining_module='day1-2', yang_type='string', is_config=True)

18234 except (TypeError, ValueError):

18235 raise ValueError({

18236 'error-string': """metric_service must be of a type compatible with string""",

18237 'defined-type': "string",

18238 'generated-type': """YANGDynClass(base=str, is_leaf=True, yang_name="metric-service", parent=self, choice=('config-method', 'execution-environment-list'), path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='urn:etsi:osm:yang:augments:day1-2', defining_module='day1-2', yang_type='string', is_config=True)""",

18239 })

18240

18241 self.__metric_service = t

18242 if hasattr(self, '_set'):

18243 self._set()

18244

18245 def _unset_metric_service(self):

18246 self.__metric_service = YANGDynClass(base=str, is_leaf=True, yang_name="metric-service", parent=self, choice=('config-method', 'execution-environment-list'), path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='urn:etsi:osm:yang:augments:day1-2', defining_module='day1-2', yang_type='string', is_config=True)

18247

18248

18249 def _get_external_connection_point_ref(self):

18250 """

18251 Getter method for external_connection_point_ref, mapped from YANG variable /vnfd/df/lcm_operations_configuration/operate_vnf_op_config/day1_2/execution_environment_list/external_connection_point_ref (string)

18252

18253 YANG Description: String representing a leaf reference to the particular external connection point

18254 This field should match /vnfd:vnfd-catalog/vnfd:vnfd/vnfd:id/vnfd:connection-point/vnfd:name

18255

18256 """

18257 return self.__external_connection_point_ref

18258

18259 def _set_external_connection_point_ref(self, v, load=False):

18260 """

18261 Setter method for external_connection_point_ref, mapped from YANG variable /vnfd/df/lcm_operations_configuration/operate_vnf_op_config/day1_2/execution_environment_list/external_connection_point_ref (string)

18262 If this variable is read-only (config: false) in the

18263 source YANG file, then _set_external_connection_point_ref is considered as a private

18264 method. Backends looking to populate this variable should

18265 do so via calling thisObj._set_external_connection_point_ref() directly.

18266

18267 YANG Description: String representing a leaf reference to the particular external connection point

18268 This field should match /vnfd:vnfd-catalog/vnfd:vnfd/vnfd:id/vnfd:connection-point/vnfd:name

18269

18270 """

18271 if hasattr(v, "_utype"):

18272 v = v._utype(v)

18273 try:

18274 t = YANGDynClass(v,base=str, is_leaf=True, yang_name="external-connection-point-ref", parent=self, choice=('config-method', 'execution-environment-list'), path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='urn:etsi:osm:yang:augments:day1-2', defining_module='day1-2', yang_type='string', is_config=True)

18275 except (TypeError, ValueError):

18276 raise ValueError({

18277 'error-string': """external_connection_point_ref must be of a type compatible with string""",

18278 'defined-type': "string",

18279 'generated-type': """YANGDynClass(base=str, is_leaf=True, yang_name="external-connection-point-ref", parent=self, choice=('config-method', 'execution-environment-list'), path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='urn:etsi:osm:yang:augments:day1-2', defining_module='day1-2', yang_type='string', is_config=True)""",

18280 })

18281

18282 self.__external_connection_point_ref = t

18283 if hasattr(self, '_set'):

18284 self._set()

18285

18286 def _unset_external_connection_point_ref(self):

18287 self.__external_connection_point_ref = YANGDynClass(base=str, is_leaf=True, yang_name="external-connection-point-ref", parent=self, choice=('config-method', 'execution-environment-list'), path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='urn:etsi:osm:yang:augments:day1-2', defining_module='day1-2', yang_type='string', is_config=True)

18288

18289 id = __builtin__.property(_get_id, _set_id)

18290 juju = __builtin__.property(_get_juju, _set_juju)

18291 helm_chart = __builtin__.property(_get_helm_chart, _set_helm_chart)

18292 helm_version = __builtin__.property(_get_helm_version, _set_helm_version)

18293 metric_service = __builtin__.property(_get_metric_service, _set_metric_service)

18294 external_connection_point_ref = __builtin__.property(_get_external_connection_point_ref, _set_external_connection_point_ref)

18295

18296 __choices__ = {'config-method': {'execution-environment-list': ['id', 'metric_service', 'external_connection_point_ref']}, 'execution-environment-model': {'juju': ['juju'], 'helm-chart': ['helm_chart', 'helm_version']}}

18297 _pyangbind_elements = OrderedDict([('id', id), ('juju', juju), ('helm_chart', helm_chart), ('helm_version', helm_version), ('metric_service', metric_service), ('external_connection_point_ref', external_connection_point_ref), ])

18298

18299

18300 class yc_parameter_etsi_nfv_vnfd__vnfd_df_lcm_operations_configuration_operate_vnf_op_config_day1_2_config_primitive_parameter(PybindBase):

18301 """

18302 This class was auto-generated by the PythonClass plugin for PYANG

18303 from YANG module etsi-nfv-vnfd - based on the path /vnfd/df/lcm-operations-configuration/operate-vnf-op-config/day1-2/config-primitive/parameter. Each member element of

18304 the container is represented as a class variable - with a specific

18305 YANG type.

18306

18307 YANG Description: List of parameters to the config primitive.

18308 """

18309 __slots__ = ('_path_helper', '_extmethods', '__name','__data_type','__mandatory','__default_value','__parameter_pool','__read_only','__hidden',)

18310

18311 _yang_name = 'parameter'

18312 _yang_namespace = 'urn:etsi:nfv:yang:etsi-nfv-vnfd'

18313

18314 _pybind_generated_by = 'container'

18315

18316 def __init__(self, *args, **kwargs):

18317

18318 self._path_helper = False

18319

18320 self._extmethods = False

18321 self.__name = YANGDynClass(base=str, is_leaf=True, yang_name="name", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, is_keyval=True, namespace='urn:etsi:osm:yang:augments:day1-2', defining_module='day1-2', yang_type='string', is_config=True)

18322 self.__data_type = YANGDynClass(base=RestrictedClassType(base_type=str, restriction_type="dict_key", restriction_arg={'STRING': {}, 'INTEGER': {}, 'BOOLEAN': {}},), is_leaf=True, yang_name="data-type", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='urn:etsi:osm:yang:augments:day1-2', defining_module='day1-2', yang_type='common:parameter-data-type', is_config=True)

18323 self.__mandatory = YANGDynClass(base=YANGBool, default=YANGBool("false"), is_leaf=True, yang_name="mandatory", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='urn:etsi:osm:yang:augments:day1-2', defining_module='day1-2', yang_type='boolean', is_config=True)

18324 self.__default_value = YANGDynClass(base=str, is_leaf=True, yang_name="default-value", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='urn:etsi:osm:yang:augments:day1-2', defining_module='day1-2', yang_type='string', is_config=True)

18325 self.__parameter_pool = YANGDynClass(base=str, is_leaf=True, yang_name="parameter-pool", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='urn:etsi:osm:yang:augments:day1-2', defining_module='day1-2', yang_type='string', is_config=True)

18326 self.__read_only = YANGDynClass(base=YANGBool, default=YANGBool("false"), is_leaf=True, yang_name="read-only", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='urn:etsi:osm:yang:augments:day1-2', defining_module='day1-2', yang_type='boolean', is_config=True)

18327 self.__hidden = YANGDynClass(base=YANGBool, default=YANGBool("false"), is_leaf=True, yang_name="hidden", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='urn:etsi:osm:yang:augments:day1-2', defining_module='day1-2', yang_type='boolean', is_config=True)

18328

18329 load = kwargs.pop("load", None)

18330 if args:

18331 if len(args) > 1:

18332 raise TypeError("cannot create a YANG container with >1 argument")

18333 all_attr = True

18334 for e in self._pyangbind_elements:

18335 if not hasattr(args[0], e):

18336 all_attr = False

18337 break

18338 if not all_attr:

18339 raise ValueError("Supplied object did not have the correct attributes")

18340 for e in self._pyangbind_elements:

18341 nobj = getattr(args[0], e)

18342 if nobj._changed() is False:

18343 continue

18344 setmethod = getattr(self, "_set_%s" % e)

18345 if load is None:

18346 setmethod(getattr(args[0], e))

18347 else:

18348 setmethod(getattr(args[0], e), load=load)

18349

18350 def _path(self):

18351 if hasattr(self, "_parent"):

18352 return self._parent._path()+[self._yang_name]

18353 else:

18354 return ['vnfd', 'df', 'lcm-operations-configuration', 'operate-vnf-op-config', 'day1-2', 'config-primitive', 'parameter']

18355

18356 def _get_name(self):

18357 """

18358 Getter method for name, mapped from YANG variable /vnfd/df/lcm_operations_configuration/operate_vnf_op_config/day1_2/config_primitive/parameter/name (string)

18359

18360 YANG Description: Name of the parameter.

18361 """

18362 return self.__name

18363

18364 def _set_name(self, v, load=False):

18365 """

18366 Setter method for name, mapped from YANG variable /vnfd/df/lcm_operations_configuration/operate_vnf_op_config/day1_2/config_primitive/parameter/name (string)

18367 If this variable is read-only (config: false) in the

18368 source YANG file, then _set_name is considered as a private

18369 method. Backends looking to populate this variable should

18370 do so via calling thisObj._set_name() directly.

18371

18372 YANG Description: Name of the parameter.

18373 """

18374 parent = getattr(self, "_parent", None)

18375 if parent is not None and load is False:

18376 raise AttributeError("Cannot set keys directly when" +

18377 " within an instantiated list")

18378

18379 if hasattr(v, "_utype"):

18380 v = v._utype(v)

18381 try:

18382 t = YANGDynClass(v,base=str, is_leaf=True, yang_name="name", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, is_keyval=True, namespace='urn:etsi:osm:yang:augments:day1-2', defining_module='day1-2', yang_type='string', is_config=True)

18383 except (TypeError, ValueError):

18384 raise ValueError({

18385 'error-string': """name must be of a type compatible with string""",

18386 'defined-type': "string",

18387 'generated-type': """YANGDynClass(base=str, is_leaf=True, yang_name="name", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, is_keyval=True, namespace='urn:etsi:osm:yang:augments:day1-2', defining_module='day1-2', yang_type='string', is_config=True)""",

18388 })

18389

18390 self.__name = t

18391 if hasattr(self, '_set'):

18392 self._set()

18393

18394 def _unset_name(self):

18395 self.__name = YANGDynClass(base=str, is_leaf=True, yang_name="name", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, is_keyval=True, namespace='urn:etsi:osm:yang:augments:day1-2', defining_module='day1-2', yang_type='string', is_config=True)

18396

18397

18398 def _get_data_type(self):

18399 """

18400 Getter method for data_type, mapped from YANG variable /vnfd/df/lcm_operations_configuration/operate_vnf_op_config/day1_2/config_primitive/parameter/data_type (common:parameter-data-type)

18401

18402 YANG Description: Data type associated with the name.

18403 """

18404 return self.__data_type

18405

18406 def _set_data_type(self, v, load=False):

18407 """

18408 Setter method for data_type, mapped from YANG variable /vnfd/df/lcm_operations_configuration/operate_vnf_op_config/day1_2/config_primitive/parameter/data_type (common:parameter-data-type)

18409 If this variable is read-only (config: false) in the

18410 source YANG file, then _set_data_type is considered as a private

18411 method. Backends looking to populate this variable should

18412 do so via calling thisObj._set_data_type() directly.

18413

18414 YANG Description: Data type associated with the name.

18415 """

18416 if hasattr(v, "_utype"):

18417 v = v._utype(v)

18418 try:

18419 t = YANGDynClass(v,base=RestrictedClassType(base_type=str, restriction_type="dict_key", restriction_arg={'STRING': {}, 'INTEGER': {}, 'BOOLEAN': {}},), is_leaf=True, yang_name="data-type", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='urn:etsi:osm:yang:augments:day1-2', defining_module='day1-2', yang_type='common:parameter-data-type', is_config=True)

18420 except (TypeError, ValueError):

18421 raise ValueError({

18422 'error-string': """data_type must be of a type compatible with common:parameter-data-type""",

18423 'defined-type': "common:parameter-data-type",

18424 'generated-type': """YANGDynClass(base=RestrictedClassType(base_type=str, restriction_type="dict_key", restriction_arg={'STRING': {}, 'INTEGER': {}, 'BOOLEAN': {}},), is_leaf=True, yang_name="data-type", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='urn:etsi:osm:yang:augments:day1-2', defining_module='day1-2', yang_type='common:parameter-data-type', is_config=True)""",

18425 })

18426

18427 self.__data_type = t

18428 if hasattr(self, '_set'):

18429 self._set()

18430

18431 def _unset_data_type(self):

18432 self.__data_type = YANGDynClass(base=RestrictedClassType(base_type=str, restriction_type="dict_key", restriction_arg={'STRING': {}, 'INTEGER': {}, 'BOOLEAN': {}},), is_leaf=True, yang_name="data-type", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='urn:etsi:osm:yang:augments:day1-2', defining_module='day1-2', yang_type='common:parameter-data-type', is_config=True)

18433

18434

18435 def _get_mandatory(self):

18436 """

18437 Getter method for mandatory, mapped from YANG variable /vnfd/df/lcm_operations_configuration/operate_vnf_op_config/day1_2/config_primitive/parameter/mandatory (boolean)

18438

18439 YANG Description: Is this field mandatory

18440 """

18441 return self.__mandatory

18442

18443 def _set_mandatory(self, v, load=False):

18444 """

18445 Setter method for mandatory, mapped from YANG variable /vnfd/df/lcm_operations_configuration/operate_vnf_op_config/day1_2/config_primitive/parameter/mandatory (boolean)

18446 If this variable is read-only (config: false) in the

18447 source YANG file, then _set_mandatory is considered as a private

18448 method. Backends looking to populate this variable should

18449 do so via calling thisObj._set_mandatory() directly.

18450

18451 YANG Description: Is this field mandatory

18452 """

18453 if hasattr(v, "_utype"):

18454 v = v._utype(v)

18455 try:

18456 t = YANGDynClass(v,base=YANGBool, default=YANGBool("false"), is_leaf=True, yang_name="mandatory", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='urn:etsi:osm:yang:augments:day1-2', defining_module='day1-2', yang_type='boolean', is_config=True)

18457 except (TypeError, ValueError):

18458 raise ValueError({

18459 'error-string': """mandatory must be of a type compatible with boolean""",

18460 'defined-type': "boolean",

18461 'generated-type': """YANGDynClass(base=YANGBool, default=YANGBool("false"), is_leaf=True, yang_name="mandatory", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='urn:etsi:osm:yang:augments:day1-2', defining_module='day1-2', yang_type='boolean', is_config=True)""",

18462 })

18463

18464 self.__mandatory = t

18465 if hasattr(self, '_set'):

18466 self._set()

18467

18468 def _unset_mandatory(self):

18469 self.__mandatory = YANGDynClass(base=YANGBool, default=YANGBool("false"), is_leaf=True, yang_name="mandatory", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='urn:etsi:osm:yang:augments:day1-2', defining_module='day1-2', yang_type='boolean', is_config=True)

18470

18471

18472 def _get_default_value(self):

18473 """

18474 Getter method for default_value, mapped from YANG variable /vnfd/df/lcm_operations_configuration/operate_vnf_op_config/day1_2/config_primitive/parameter/default_value (string)

18475

18476 YANG Description: The default value for this field

18477 """

18478 return self.__default_value

18479

18480 def _set_default_value(self, v, load=False):

18481 """

18482 Setter method for default_value, mapped from YANG variable /vnfd/df/lcm_operations_configuration/operate_vnf_op_config/day1_2/config_primitive/parameter/default_value (string)

18483 If this variable is read-only (config: false) in the

18484 source YANG file, then _set_default_value is considered as a private

18485 method. Backends looking to populate this variable should

18486 do so via calling thisObj._set_default_value() directly.

18487

18488 YANG Description: The default value for this field

18489 """

18490 if hasattr(v, "_utype"):

18491 v = v._utype(v)

18492 try:

18493 t = YANGDynClass(v,base=str, is_leaf=True, yang_name="default-value", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='urn:etsi:osm:yang:augments:day1-2', defining_module='day1-2', yang_type='string', is_config=True)

18494 except (TypeError, ValueError):

18495 raise ValueError({

18496 'error-string': """default_value must be of a type compatible with string""",

18497 'defined-type': "string",

18498 'generated-type': """YANGDynClass(base=str, is_leaf=True, yang_name="default-value", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='urn:etsi:osm:yang:augments:day1-2', defining_module='day1-2', yang_type='string', is_config=True)""",

18499 })

18500

18501 self.__default_value = t

18502 if hasattr(self, '_set'):

18503 self._set()

18504

18505 def _unset_default_value(self):

18506 self.__default_value = YANGDynClass(base=str, is_leaf=True, yang_name="default-value", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='urn:etsi:osm:yang:augments:day1-2', defining_module='day1-2', yang_type='string', is_config=True)

18507

18508

18509 def _get_parameter_pool(self):

18510 """

18511 Getter method for parameter_pool, mapped from YANG variable /vnfd/df/lcm_operations_configuration/operate_vnf_op_config/day1_2/config_primitive/parameter/parameter_pool (string)

18512

18513 YANG Description: NSD parameter pool name to use for this parameter

18514 """

18515 return self.__parameter_pool

18516

18517 def _set_parameter_pool(self, v, load=False):

18518 """

18519 Setter method for parameter_pool, mapped from YANG variable /vnfd/df/lcm_operations_configuration/operate_vnf_op_config/day1_2/config_primitive/parameter/parameter_pool (string)

18520 If this variable is read-only (config: false) in the

18521 source YANG file, then _set_parameter_pool is considered as a private

18522 method. Backends looking to populate this variable should

18523 do so via calling thisObj._set_parameter_pool() directly.

18524

18525 YANG Description: NSD parameter pool name to use for this parameter

18526 """

18527 if hasattr(v, "_utype"):

18528 v = v._utype(v)

18529 try:

18530 t = YANGDynClass(v,base=str, is_leaf=True, yang_name="parameter-pool", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='urn:etsi:osm:yang:augments:day1-2', defining_module='day1-2', yang_type='string', is_config=True)

18531 except (TypeError, ValueError):

18532 raise ValueError({

18533 'error-string': """parameter_pool must be of a type compatible with string""",

18534 'defined-type': "string",

18535 'generated-type': """YANGDynClass(base=str, is_leaf=True, yang_name="parameter-pool", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='urn:etsi:osm:yang:augments:day1-2', defining_module='day1-2', yang_type='string', is_config=True)""",

18536 })

18537

18538 self.__parameter_pool = t

18539 if hasattr(self, '_set'):

18540 self._set()

18541

18542 def _unset_parameter_pool(self):

18543 self.__parameter_pool = YANGDynClass(base=str, is_leaf=True, yang_name="parameter-pool", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='urn:etsi:osm:yang:augments:day1-2', defining_module='day1-2', yang_type='string', is_config=True)

18544

18545

18546 def _get_read_only(self):

18547 """

18548 Getter method for read_only, mapped from YANG variable /vnfd/df/lcm_operations_configuration/operate_vnf_op_config/day1_2/config_primitive/parameter/read_only (boolean)

18549

18550 YANG Description: The value should be dimmed by the UI.

18551 Only applies to parameters with default values.

18552 """

18553 return self.__read_only

18554

18555 def _set_read_only(self, v, load=False):

18556 """

18557 Setter method for read_only, mapped from YANG variable /vnfd/df/lcm_operations_configuration/operate_vnf_op_config/day1_2/config_primitive/parameter/read_only (boolean)

18558 If this variable is read-only (config: false) in the

18559 source YANG file, then _set_read_only is considered as a private

18560 method. Backends looking to populate this variable should

18561 do so via calling thisObj._set_read_only() directly.

18562

18563 YANG Description: The value should be dimmed by the UI.

18564 Only applies to parameters with default values.

18565 """

18566 if hasattr(v, "_utype"):

18567 v = v._utype(v)

18568 try:

18569 t = YANGDynClass(v,base=YANGBool, default=YANGBool("false"), is_leaf=True, yang_name="read-only", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='urn:etsi:osm:yang:augments:day1-2', defining_module='day1-2', yang_type='boolean', is_config=True)

18570 except (TypeError, ValueError):

18571 raise ValueError({

18572 'error-string': """read_only must be of a type compatible with boolean""",

18573 'defined-type': "boolean",

18574 'generated-type': """YANGDynClass(base=YANGBool, default=YANGBool("false"), is_leaf=True, yang_name="read-only", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='urn:etsi:osm:yang:augments:day1-2', defining_module='day1-2', yang_type='boolean', is_config=True)""",

18575 })

18576

18577 self.__read_only = t

18578 if hasattr(self, '_set'):

18579 self._set()

18580

18581 def _unset_read_only(self):

18582 self.__read_only = YANGDynClass(base=YANGBool, default=YANGBool("false"), is_leaf=True, yang_name="read-only", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='urn:etsi:osm:yang:augments:day1-2', defining_module='day1-2', yang_type='boolean', is_config=True)

18583

18584

18585 def _get_hidden(self):

18586 """

18587 Getter method for hidden, mapped from YANG variable /vnfd/df/lcm_operations_configuration/operate_vnf_op_config/day1_2/config_primitive/parameter/hidden (boolean)

18588

18589 YANG Description: The value should be hidden by the UI.

18590 Only applies to parameters with default values.

18591 """

18592 return self.__hidden

18593

18594 def _set_hidden(self, v, load=False):

18595 """

18596 Setter method for hidden, mapped from YANG variable /vnfd/df/lcm_operations_configuration/operate_vnf_op_config/day1_2/config_primitive/parameter/hidden (boolean)

18597 If this variable is read-only (config: false) in the

18598 source YANG file, then _set_hidden is considered as a private

18599 method. Backends looking to populate this variable should

18600 do so via calling thisObj._set_hidden() directly.

18601

18602 YANG Description: The value should be hidden by the UI.

18603 Only applies to parameters with default values.

18604 """

18605 if hasattr(v, "_utype"):

18606 v = v._utype(v)

18607 try:

18608 t = YANGDynClass(v,base=YANGBool, default=YANGBool("false"), is_leaf=True, yang_name="hidden", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='urn:etsi:osm:yang:augments:day1-2', defining_module='day1-2', yang_type='boolean', is_config=True)

18609 except (TypeError, ValueError):

18610 raise ValueError({

18611 'error-string': """hidden must be of a type compatible with boolean""",

18612 'defined-type': "boolean",

18613 'generated-type': """YANGDynClass(base=YANGBool, default=YANGBool("false"), is_leaf=True, yang_name="hidden", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='urn:etsi:osm:yang:augments:day1-2', defining_module='day1-2', yang_type='boolean', is_config=True)""",

18614 })

18615

18616 self.__hidden = t

18617 if hasattr(self, '_set'):

18618 self._set()

18619

18620 def _unset_hidden(self):

18621 self.__hidden = YANGDynClass(base=YANGBool, default=YANGBool("false"), is_leaf=True, yang_name="hidden", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='urn:etsi:osm:yang:augments:day1-2', defining_module='day1-2', yang_type='boolean', is_config=True)

18622

18623 name = __builtin__.property(_get_name, _set_name)

18624 data_type = __builtin__.property(_get_data_type, _set_data_type)

18625 mandatory = __builtin__.property(_get_mandatory, _set_mandatory)

18626 default_value = __builtin__.property(_get_default_value, _set_default_value)

18627 parameter_pool = __builtin__.property(_get_parameter_pool, _set_parameter_pool)

18628 read_only = __builtin__.property(_get_read_only, _set_read_only)

18629 hidden = __builtin__.property(_get_hidden, _set_hidden)

18630

18631

18632 _pyangbind_elements = OrderedDict([('name', name), ('data_type', data_type), ('mandatory', mandatory), ('default_value', default_value), ('parameter_pool', parameter_pool), ('read_only', read_only), ('hidden', hidden), ])

18633

18634

18635 class yc_config_primitive_etsi_nfv_vnfd__vnfd_df_lcm_operations_configuration_operate_vnf_op_config_day1_2_config_primitive(PybindBase):

18636 """

18637 This class was auto-generated by the PythonClass plugin for PYANG

18638 from YANG module etsi-nfv-vnfd - based on the path /vnfd/df/lcm-operations-configuration/operate-vnf-op-config/day1-2/config-primitive. Each member element of

18639 the container is represented as a class variable - with a specific

18640 YANG type.

18641

18642 YANG Description: List of config primitives supported by the

18643 configuration agent for this VNF or VDU.

18644 """

18645 __slots__ = ('_path_helper', '_extmethods', '__name','__execution_environment_ref','__execution_environment_primitive','__parameter','__user_defined_script',)

18646

18647 _yang_name = 'config-primitive'

18648 _yang_namespace = 'urn:etsi:nfv:yang:etsi-nfv-vnfd'

18649

18650 _pybind_generated_by = 'container'

18651

18652 def __init__(self, *args, **kwargs):

18653

18654 self._path_helper = False

18655

18656 self._extmethods = False

18657 self.__name = YANGDynClass(base=str, is_leaf=True, yang_name="name", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, is_keyval=True, namespace='urn:etsi:osm:yang:augments:day1-2', defining_module='day1-2', yang_type='string', is_config=True)

18658 self.__execution_environment_ref = YANGDynClass(base=str, is_leaf=True, yang_name="execution-environment-ref", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='urn:etsi:osm:yang:augments:day1-2', defining_module='day1-2', yang_type='leafref', is_config=True)

18659 self.__execution_environment_primitive = YANGDynClass(base=str, is_leaf=True, yang_name="execution-environment-primitive", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='urn:etsi:osm:yang:augments:day1-2', defining_module='day1-2', yang_type='string', is_config=True)

18660 self.__parameter = YANGDynClass(base=YANGListType("name",yc_parameter_etsi_nfv_vnfd__vnfd_df_lcm_operations_configuration_operate_vnf_op_config_day1_2_config_primitive_parameter, yang_name="parameter", parent=self, is_container='list', user_ordered=False, path_helper=self._path_helper, yang_keys='name', extensions=None), is_container='list', yang_name="parameter", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, extensions=None, namespace='urn:etsi:osm:yang:augments:day1-2', defining_module='day1-2', yang_type='list', is_config=True)

18661 self.__user_defined_script = YANGDynClass(base=str, is_leaf=True, yang_name="user-defined-script", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='urn:etsi:osm:yang:augments:day1-2', defining_module='day1-2', yang_type='string', is_config=True)

18662

18663 load = kwargs.pop("load", None)

18664 if args:

18665 if len(args) > 1:

18666 raise TypeError("cannot create a YANG container with >1 argument")

18667 all_attr = True

18668 for e in self._pyangbind_elements:

18669 if not hasattr(args[0], e):

18670 all_attr = False

18671 break

18672 if not all_attr:

18673 raise ValueError("Supplied object did not have the correct attributes")

18674 for e in self._pyangbind_elements:

18675 nobj = getattr(args[0], e)

18676 if nobj._changed() is False:

18677 continue

18678 setmethod = getattr(self, "_set_%s" % e)

18679 if load is None:

18680 setmethod(getattr(args[0], e))

18681 else:

18682 setmethod(getattr(args[0], e), load=load)

18683

18684 def _path(self):

18685 if hasattr(self, "_parent"):

18686 return self._parent._path()+[self._yang_name]

18687 else:

18688 return ['vnfd', 'df', 'lcm-operations-configuration', 'operate-vnf-op-config', 'day1-2', 'config-primitive']

18689

18690 def _get_name(self):

18691 """

18692 Getter method for name, mapped from YANG variable /vnfd/df/lcm_operations_configuration/operate_vnf_op_config/day1_2/config_primitive/name (string)

18693

18694 YANG Description: Name of the config primitive.

18695 """

18696 return self.__name

18697

18698 def _set_name(self, v, load=False):

18699 """

18700 Setter method for name, mapped from YANG variable /vnfd/df/lcm_operations_configuration/operate_vnf_op_config/day1_2/config_primitive/name (string)

18701 If this variable is read-only (config: false) in the

18702 source YANG file, then _set_name is considered as a private

18703 method. Backends looking to populate this variable should

18704 do so via calling thisObj._set_name() directly.

18705

18706 YANG Description: Name of the config primitive.

18707 """

18708 parent = getattr(self, "_parent", None)

18709 if parent is not None and load is False:

18710 raise AttributeError("Cannot set keys directly when" +

18711 " within an instantiated list")

18712

18713 if hasattr(v, "_utype"):

18714 v = v._utype(v)

18715 try:

18716 t = YANGDynClass(v,base=str, is_leaf=True, yang_name="name", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, is_keyval=True, namespace='urn:etsi:osm:yang:augments:day1-2', defining_module='day1-2', yang_type='string', is_config=True)

18717 except (TypeError, ValueError):

18718 raise ValueError({

18719 'error-string': """name must be of a type compatible with string""",

18720 'defined-type': "string",

18721 'generated-type': """YANGDynClass(base=str, is_leaf=True, yang_name="name", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, is_keyval=True, namespace='urn:etsi:osm:yang:augments:day1-2', defining_module='day1-2', yang_type='string', is_config=True)""",

18722 })

18723

18724 self.__name = t

18725 if hasattr(self, '_set'):

18726 self._set()

18727

18728 def _unset_name(self):

18729 self.__name = YANGDynClass(base=str, is_leaf=True, yang_name="name", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, is_keyval=True, namespace='urn:etsi:osm:yang:augments:day1-2', defining_module='day1-2', yang_type='string', is_config=True)

18730

18731

18732 def _get_execution_environment_ref(self):

18733 """

18734 Getter method for execution_environment_ref, mapped from YANG variable /vnfd/df/lcm_operations_configuration/operate_vnf_op_config/day1_2/config_primitive/execution_environment_ref (leafref)

18735

18736 YANG Description: Leaf reference to the particular execution environment

18737 """

18738 return self.__execution_environment_ref

18739

18740 def _set_execution_environment_ref(self, v, load=False):

18741 """

18742 Setter method for execution_environment_ref, mapped from YANG variable /vnfd/df/lcm_operations_configuration/operate_vnf_op_config/day1_2/config_primitive/execution_environment_ref (leafref)

18743 If this variable is read-only (config: false) in the

18744 source YANG file, then _set_execution_environment_ref is considered as a private

18745 method. Backends looking to populate this variable should

18746 do so via calling thisObj._set_execution_environment_ref() directly.

18747

18748 YANG Description: Leaf reference to the particular execution environment

18749 """

18750 if hasattr(v, "_utype"):

18751 v = v._utype(v)

18752 try:

18753 t = YANGDynClass(v,base=str, is_leaf=True, yang_name="execution-environment-ref", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='urn:etsi:osm:yang:augments:day1-2', defining_module='day1-2', yang_type='leafref', is_config=True)

18754 except (TypeError, ValueError):

18755 raise ValueError({

18756 'error-string': """execution_environment_ref must be of a type compatible with leafref""",

18757 'defined-type': "leafref",

18758 'generated-type': """YANGDynClass(base=str, is_leaf=True, yang_name="execution-environment-ref", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='urn:etsi:osm:yang:augments:day1-2', defining_module='day1-2', yang_type='leafref', is_config=True)""",

18759 })

18760

18761 self.__execution_environment_ref = t

18762 if hasattr(self, '_set'):

18763 self._set()

18764

18765 def _unset_execution_environment_ref(self):

18766 self.__execution_environment_ref = YANGDynClass(base=str, is_leaf=True, yang_name="execution-environment-ref", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='urn:etsi:osm:yang:augments:day1-2', defining_module='day1-2', yang_type='leafref', is_config=True)

18767

18768

18769 def _get_execution_environment_primitive(self):

18770 """

18771 Getter method for execution_environment_primitive, mapped from YANG variable /vnfd/df/lcm_operations_configuration/operate_vnf_op_config/day1_2/config_primitive/execution_environment_primitive (string)

18772

18773 YANG Description: Name of the primitive in the execution enviroment. If not explicit,

18774 the leaf 'name' will be used as the name of the primitive.

18775 """

18776 return self.__execution_environment_primitive

18777

18778 def _set_execution_environment_primitive(self, v, load=False):

18779 """

18780 Setter method for execution_environment_primitive, mapped from YANG variable /vnfd/df/lcm_operations_configuration/operate_vnf_op_config/day1_2/config_primitive/execution_environment_primitive (string)

18781 If this variable is read-only (config: false) in the

18782 source YANG file, then _set_execution_environment_primitive is considered as a private

18783 method. Backends looking to populate this variable should

18784 do so via calling thisObj._set_execution_environment_primitive() directly.

18785

18786 YANG Description: Name of the primitive in the execution enviroment. If not explicit,

18787 the leaf 'name' will be used as the name of the primitive.

18788 """

18789 if hasattr(v, "_utype"):

18790 v = v._utype(v)

18791 try:

18792 t = YANGDynClass(v,base=str, is_leaf=True, yang_name="execution-environment-primitive", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='urn:etsi:osm:yang:augments:day1-2', defining_module='day1-2', yang_type='string', is_config=True)

18793 except (TypeError, ValueError):

18794 raise ValueError({

18795 'error-string': """execution_environment_primitive must be of a type compatible with string""",

18796 'defined-type': "string",

18797 'generated-type': """YANGDynClass(base=str, is_leaf=True, yang_name="execution-environment-primitive", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='urn:etsi:osm:yang:augments:day1-2', defining_module='day1-2', yang_type='string', is_config=True)""",

18798 })

18799

18800 self.__execution_environment_primitive = t

18801 if hasattr(self, '_set'):

18802 self._set()

18803

18804 def _unset_execution_environment_primitive(self):

18805 self.__execution_environment_primitive = YANGDynClass(base=str, is_leaf=True, yang_name="execution-environment-primitive", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='urn:etsi:osm:yang:augments:day1-2', defining_module='day1-2', yang_type='string', is_config=True)

18806

18807

18808 def _get_parameter(self):

18809 """

18810 Getter method for parameter, mapped from YANG variable /vnfd/df/lcm_operations_configuration/operate_vnf_op_config/day1_2/config_primitive/parameter (list)

18811

18812 YANG Description: List of parameters to the config primitive.

18813 """

18814 return self.__parameter

18815

18816 def _set_parameter(self, v, load=False):

18817 """

18818 Setter method for parameter, mapped from YANG variable /vnfd/df/lcm_operations_configuration/operate_vnf_op_config/day1_2/config_primitive/parameter (list)

18819 If this variable is read-only (config: false) in the

18820 source YANG file, then _set_parameter is considered as a private

18821 method. Backends looking to populate this variable should

18822 do so via calling thisObj._set_parameter() directly.

18823

18824 YANG Description: List of parameters to the config primitive.

18825 """

18826 if hasattr(v, "_utype"):

18827 v = v._utype(v)

18828 try:

18829 t = YANGDynClass(v,base=YANGListType("name",yc_parameter_etsi_nfv_vnfd__vnfd_df_lcm_operations_configuration_operate_vnf_op_config_day1_2_config_primitive_parameter, yang_name="parameter", parent=self, is_container='list', user_ordered=False, path_helper=self._path_helper, yang_keys='name', extensions=None), is_container='list', yang_name="parameter", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, extensions=None, namespace='urn:etsi:osm:yang:augments:day1-2', defining_module='day1-2', yang_type='list', is_config=True)

18830 except (TypeError, ValueError):

18831 raise ValueError({

18832 'error-string': """parameter must be of a type compatible with list""",

18833 'defined-type': "list",

18834 'generated-type': """YANGDynClass(base=YANGListType("name",yc_parameter_etsi_nfv_vnfd__vnfd_df_lcm_operations_configuration_operate_vnf_op_config_day1_2_config_primitive_parameter, yang_name="parameter", parent=self, is_container='list', user_ordered=False, path_helper=self._path_helper, yang_keys='name', extensions=None), is_container='list', yang_name="parameter", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, extensions=None, namespace='urn:etsi:osm:yang:augments:day1-2', defining_module='day1-2', yang_type='list', is_config=True)""",

18835 })

18836

18837 self.__parameter = t

18838 if hasattr(self, '_set'):

18839 self._set()

18840

18841 def _unset_parameter(self):

18842 self.__parameter = YANGDynClass(base=YANGListType("name",yc_parameter_etsi_nfv_vnfd__vnfd_df_lcm_operations_configuration_operate_vnf_op_config_day1_2_config_primitive_parameter, yang_name="parameter", parent=self, is_container='list', user_ordered=False, path_helper=self._path_helper, yang_keys='name', extensions=None), is_container='list', yang_name="parameter", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, extensions=None, namespace='urn:etsi:osm:yang:augments:day1-2', defining_module='day1-2', yang_type='list', is_config=True)

18843

18844

18845 def _get_user_defined_script(self):

18846 """

18847 Getter method for user_defined_script, mapped from YANG variable /vnfd/df/lcm_operations_configuration/operate_vnf_op_config/day1_2/config_primitive/user_defined_script (string)

18848

18849 YANG Description: A user defined script. If user defined script is defined,

18850 the script will be executed using bash

18851 """

18852 return self.__user_defined_script

18853

18854 def _set_user_defined_script(self, v, load=False):

18855 """

18856 Setter method for user_defined_script, mapped from YANG variable /vnfd/df/lcm_operations_configuration/operate_vnf_op_config/day1_2/config_primitive/user_defined_script (string)

18857 If this variable is read-only (config: false) in the

18858 source YANG file, then _set_user_defined_script is considered as a private

18859 method. Backends looking to populate this variable should

18860 do so via calling thisObj._set_user_defined_script() directly.

18861

18862 YANG Description: A user defined script. If user defined script is defined,

18863 the script will be executed using bash

18864 """

18865 if hasattr(v, "_utype"):

18866 v = v._utype(v)

18867 try:

18868 t = YANGDynClass(v,base=str, is_leaf=True, yang_name="user-defined-script", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='urn:etsi:osm:yang:augments:day1-2', defining_module='day1-2', yang_type='string', is_config=True)

18869 except (TypeError, ValueError):

18870 raise ValueError({

18871 'error-string': """user_defined_script must be of a type compatible with string""",

18872 'defined-type': "string",

18873 'generated-type': """YANGDynClass(base=str, is_leaf=True, yang_name="user-defined-script", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='urn:etsi:osm:yang:augments:day1-2', defining_module='day1-2', yang_type='string', is_config=True)""",

18874 })

18875

18876 self.__user_defined_script = t

18877 if hasattr(self, '_set'):

18878 self._set()

18879

18880 def _unset_user_defined_script(self):

18881 self.__user_defined_script = YANGDynClass(base=str, is_leaf=True, yang_name="user-defined-script", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='urn:etsi:osm:yang:augments:day1-2', defining_module='day1-2', yang_type='string', is_config=True)

18882

18883 name = __builtin__.property(_get_name, _set_name)

18884 execution_environment_ref = __builtin__.property(_get_execution_environment_ref, _set_execution_environment_ref)

18885 execution_environment_primitive = __builtin__.property(_get_execution_environment_primitive, _set_execution_environment_primitive)

18886 parameter = __builtin__.property(_get_parameter, _set_parameter)

18887 user_defined_script = __builtin__.property(_get_user_defined_script, _set_user_defined_script)

18888

18889

18890 _pyangbind_elements = OrderedDict([('name', name), ('execution_environment_ref', execution_environment_ref), ('execution_environment_primitive', execution_environment_primitive), ('parameter', parameter), ('user_defined_script', user_defined_script), ])

18891

18892

18893 class yc_parameter_etsi_nfv_vnfd__vnfd_df_lcm_operations_configuration_operate_vnf_op_config_day1_2_initial_config_primitive_parameter(PybindBase):

18894 """

18895 This class was auto-generated by the PythonClass plugin for PYANG

18896 from YANG module etsi-nfv-vnfd - based on the path /vnfd/df/lcm-operations-configuration/operate-vnf-op-config/day1-2/initial-config-primitive/parameter. Each member element of

18897 the container is represented as a class variable - with a specific

18898 YANG type.

18899

18900 YANG Description: List of parameters to the configuration primitive.

18901 """

18902 __slots__ = ('_path_helper', '_extmethods', '__name','__data_type','__value',)

18903

18904 _yang_name = 'parameter'

18905 _yang_namespace = 'urn:etsi:nfv:yang:etsi-nfv-vnfd'

18906

18907 _pybind_generated_by = 'container'

18908

18909 def __init__(self, *args, **kwargs):

18910

18911 self._path_helper = False

18912

18913 self._extmethods = False

18914 self.__name = YANGDynClass(base=str, is_leaf=True, yang_name="name", parent=self, choice=('primitive-type', 'primitive-definition'), path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, is_keyval=True, namespace='urn:etsi:osm:yang:augments:day1-2', defining_module='day1-2', yang_type='string', is_config=True)

18915 self.__data_type = YANGDynClass(base=RestrictedClassType(base_type=str, restriction_type="dict_key", restriction_arg={'STRING': {}, 'INTEGER': {}, 'BOOLEAN': {}},), is_leaf=True, yang_name="data-type", parent=self, choice=('primitive-type', 'primitive-definition'), path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='urn:etsi:osm:yang:augments:day1-2', defining_module='day1-2', yang_type='common:parameter-data-type', is_config=True)

18916 self.__value = YANGDynClass(base=str, is_leaf=True, yang_name="value", parent=self, choice=('primitive-type', 'primitive-definition'), path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='urn:etsi:osm:yang:augments:day1-2', defining_module='day1-2', yang_type='string', is_config=True)

18917

18918 load = kwargs.pop("load", None)

18919 if args:

18920 if len(args) > 1:

18921 raise TypeError("cannot create a YANG container with >1 argument")

18922 all_attr = True

18923 for e in self._pyangbind_elements:

18924 if not hasattr(args[0], e):

18925 all_attr = False

18926 break

18927 if not all_attr:

18928 raise ValueError("Supplied object did not have the correct attributes")

18929 for e in self._pyangbind_elements:

18930 nobj = getattr(args[0], e)

18931 if nobj._changed() is False:

18932 continue

18933 setmethod = getattr(self, "_set_%s" % e)

18934 if load is None:

18935 setmethod(getattr(args[0], e))

18936 else:

18937 setmethod(getattr(args[0], e), load=load)

18938

18939 def _path(self):

18940 if hasattr(self, "_parent"):

18941 return self._parent._path()+[self._yang_name]

18942 else:

18943 return ['vnfd', 'df', 'lcm-operations-configuration', 'operate-vnf-op-config', 'day1-2', 'initial-config-primitive', 'parameter']

18944

18945 def _get_name(self):

18946 """

18947 Getter method for name, mapped from YANG variable /vnfd/df/lcm_operations_configuration/operate_vnf_op_config/day1_2/initial_config_primitive/parameter/name (string)

18948

18949 YANG Description: Name of the parameter.

18950 """

18951 return self.__name

18952

18953 def _set_name(self, v, load=False):

18954 """

18955 Setter method for name, mapped from YANG variable /vnfd/df/lcm_operations_configuration/operate_vnf_op_config/day1_2/initial_config_primitive/parameter/name (string)

18956 If this variable is read-only (config: false) in the

18957 source YANG file, then _set_name is considered as a private

18958 method. Backends looking to populate this variable should

18959 do so via calling thisObj._set_name() directly.

18960

18961 YANG Description: Name of the parameter.

18962 """

18963 parent = getattr(self, "_parent", None)

18964 if parent is not None and load is False:

18965 raise AttributeError("Cannot set keys directly when" +

18966 " within an instantiated list")

18967

18968 if hasattr(v, "_utype"):

18969 v = v._utype(v)

18970 try:

18971 t = YANGDynClass(v,base=str, is_leaf=True, yang_name="name", parent=self, choice=('primitive-type', 'primitive-definition'), path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, is_keyval=True, namespace='urn:etsi:osm:yang:augments:day1-2', defining_module='day1-2', yang_type='string', is_config=True)

18972 except (TypeError, ValueError):

18973 raise ValueError({

18974 'error-string': """name must be of a type compatible with string""",

18975 'defined-type': "string",

18976 'generated-type': """YANGDynClass(base=str, is_leaf=True, yang_name="name", parent=self, choice=('primitive-type', 'primitive-definition'), path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, is_keyval=True, namespace='urn:etsi:osm:yang:augments:day1-2', defining_module='day1-2', yang_type='string', is_config=True)""",

18977 })

18978

18979 self.__name = t

18980 if hasattr(self, '_set'):

18981 self._set()

18982

18983 def _unset_name(self):

18984 self.__name = YANGDynClass(base=str, is_leaf=True, yang_name="name", parent=self, choice=('primitive-type', 'primitive-definition'), path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, is_keyval=True, namespace='urn:etsi:osm:yang:augments:day1-2', defining_module='day1-2', yang_type='string', is_config=True)

18985

18986

18987 def _get_data_type(self):

18988 """

18989 Getter method for data_type, mapped from YANG variable /vnfd/df/lcm_operations_configuration/operate_vnf_op_config/day1_2/initial_config_primitive/parameter/data_type (common:parameter-data-type)

18990

18991 YANG Description: Data type associated with the value.

18992 """

18993 return self.__data_type

18994

18995 def _set_data_type(self, v, load=False):

18996 """

18997 Setter method for data_type, mapped from YANG variable /vnfd/df/lcm_operations_configuration/operate_vnf_op_config/day1_2/initial_config_primitive/parameter/data_type (common:parameter-data-type)

18998 If this variable is read-only (config: false) in the

18999 source YANG file, then _set_data_type is considered as a private

19000 method. Backends looking to populate this variable should

19001 do so via calling thisObj._set_data_type() directly.

19002

19003 YANG Description: Data type associated with the value.

19004 """

19005 if hasattr(v, "_utype"):

19006 v = v._utype(v)

19007 try:

19008 t = YANGDynClass(v,base=RestrictedClassType(base_type=str, restriction_type="dict_key", restriction_arg={'STRING': {}, 'INTEGER': {}, 'BOOLEAN': {}},), is_leaf=True, yang_name="data-type", parent=self, choice=('primitive-type', 'primitive-definition'), path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='urn:etsi:osm:yang:augments:day1-2', defining_module='day1-2', yang_type='common:parameter-data-type', is_config=True)

19009 except (TypeError, ValueError):

19010 raise ValueError({

19011 'error-string': """data_type must be of a type compatible with common:parameter-data-type""",

19012 'defined-type': "common:parameter-data-type",

19013 'generated-type': """YANGDynClass(base=RestrictedClassType(base_type=str, restriction_type="dict_key", restriction_arg={'STRING': {}, 'INTEGER': {}, 'BOOLEAN': {}},), is_leaf=True, yang_name="data-type", parent=self, choice=('primitive-type', 'primitive-definition'), path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='urn:etsi:osm:yang:augments:day1-2', defining_module='day1-2', yang_type='common:parameter-data-type', is_config=True)""",

19014 })

19015

19016 self.__data_type = t

19017 if hasattr(self, '_set'):

19018 self._set()

19019

19020 def _unset_data_type(self):

19021 self.__data_type = YANGDynClass(base=RestrictedClassType(base_type=str, restriction_type="dict_key", restriction_arg={'STRING': {}, 'INTEGER': {}, 'BOOLEAN': {}},), is_leaf=True, yang_name="data-type", parent=self, choice=('primitive-type', 'primitive-definition'), path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='urn:etsi:osm:yang:augments:day1-2', defining_module='day1-2', yang_type='common:parameter-data-type', is_config=True)

19022

19023

19024 def _get_value(self):

19025 """

19026 Getter method for value, mapped from YANG variable /vnfd/df/lcm_operations_configuration/operate_vnf_op_config/day1_2/initial_config_primitive/parameter/value (string)

19027

19028 YANG Description: Value associated with the name.

19029 """

19030 return self.__value

19031

19032 def _set_value(self, v, load=False):

19033 """

19034 Setter method for value, mapped from YANG variable /vnfd/df/lcm_operations_configuration/operate_vnf_op_config/day1_2/initial_config_primitive/parameter/value (string)

19035 If this variable is read-only (config: false) in the

19036 source YANG file, then _set_value is considered as a private

19037 method. Backends looking to populate this variable should

19038 do so via calling thisObj._set_value() directly.

19039

19040 YANG Description: Value associated with the name.

19041 """

19042 if hasattr(v, "_utype"):

19043 v = v._utype(v)

19044 try:

19045 t = YANGDynClass(v,base=str, is_leaf=True, yang_name="value", parent=self, choice=('primitive-type', 'primitive-definition'), path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='urn:etsi:osm:yang:augments:day1-2', defining_module='day1-2', yang_type='string', is_config=True)

19046 except (TypeError, ValueError):

19047 raise ValueError({

19048 'error-string': """value must be of a type compatible with string""",

19049 'defined-type': "string",

19050 'generated-type': """YANGDynClass(base=str, is_leaf=True, yang_name="value", parent=self, choice=('primitive-type', 'primitive-definition'), path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='urn:etsi:osm:yang:augments:day1-2', defining_module='day1-2', yang_type='string', is_config=True)""",

19051 })

19052

19053 self.__value = t

19054 if hasattr(self, '_set'):

19055 self._set()

19056

19057 def _unset_value(self):

19058 self.__value = YANGDynClass(base=str, is_leaf=True, yang_name="value", parent=self, choice=('primitive-type', 'primitive-definition'), path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='urn:etsi:osm:yang:augments:day1-2', defining_module='day1-2', yang_type='string', is_config=True)

19059

19060 name = __builtin__.property(_get_name, _set_name)

19061 data_type = __builtin__.property(_get_data_type, _set_data_type)

19062 value = __builtin__.property(_get_value, _set_value)

19063

19064 __choices__ = {'primitive-type': {'primitive-definition': ['name', 'data_type', 'value']}}

19065 _pyangbind_elements = OrderedDict([('name', name), ('data_type', data_type), ('value', value), ])

19066

19067

19068 class yc_initial_config_primitive_etsi_nfv_vnfd__vnfd_df_lcm_operations_configuration_operate_vnf_op_config_day1_2_initial_config_primitive(PybindBase):

19069 """

19070 This class was auto-generated by the PythonClass plugin for PYANG

19071 from YANG module etsi-nfv-vnfd - based on the path /vnfd/df/lcm-operations-configuration/operate-vnf-op-config/day1-2/initial-config-primitive. Each member element of

19072 the container is represented as a class variable - with a specific

19073 YANG type.

19074

19075 YANG Description: Initial set of configuration primitives.

19076 """

19077 __slots__ = ('_path_helper', '_extmethods', '__seq','__name','__execution_environment_ref','__parameter','__user_defined_script',)

19078

19079 _yang_name = 'initial-config-primitive'

19080 _yang_namespace = 'urn:etsi:nfv:yang:etsi-nfv-vnfd'

19081

19082 _pybind_generated_by = 'container'

19083

19084 def __init__(self, *args, **kwargs):

19085

19086 self._path_helper = False

19087

19088 self._extmethods = False

19089 self.__seq = YANGDynClass(base=RestrictedClassType(base_type=long, restriction_dict={'range': ['0..18446744073709551615']}, int_size=64), is_leaf=True, yang_name="seq", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, is_keyval=True, namespace='urn:etsi:osm:yang:augments:day1-2', defining_module='day1-2', yang_type='uint64', is_config=True)

19090 self.__name = YANGDynClass(base=str, is_leaf=True, yang_name="name", parent=self, choice=('primitive-type', 'primitive-definition'), path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='urn:etsi:osm:yang:augments:day1-2', defining_module='day1-2', yang_type='string', is_config=True)

19091 self.__execution_environment_ref = YANGDynClass(base=str, is_leaf=True, yang_name="execution-environment-ref", parent=self, choice=('primitive-type', 'primitive-definition'), path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='urn:etsi:osm:yang:augments:day1-2', defining_module='day1-2', yang_type='leafref', is_config=True)

19092 self.__parameter = YANGDynClass(base=YANGListType("name",yc_parameter_etsi_nfv_vnfd__vnfd_df_lcm_operations_configuration_operate_vnf_op_config_day1_2_initial_config_primitive_parameter, yang_name="parameter", parent=self, is_container='list', user_ordered=False, path_helper=self._path_helper, yang_keys='name', extensions=None, choice=False), is_container='list', yang_name="parameter", parent=self, choice=('primitive-type', 'primitive-definition'), path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, extensions=None, namespace='urn:etsi:osm:yang:augments:day1-2', defining_module='day1-2', yang_type='list', is_config=True)

19093 self.__user_defined_script = YANGDynClass(base=str, is_leaf=True, yang_name="user-defined-script", parent=self, choice=('primitive-type', 'primitive-definition'), path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='urn:etsi:osm:yang:augments:day1-2', defining_module='day1-2', yang_type='string', is_config=True)

19094

19095 load = kwargs.pop("load", None)

19096 if args:

19097 if len(args) > 1:

19098 raise TypeError("cannot create a YANG container with >1 argument")

19099 all_attr = True

19100 for e in self._pyangbind_elements:

19101 if not hasattr(args[0], e):

19102 all_attr = False

19103 break

19104 if not all_attr:

19105 raise ValueError("Supplied object did not have the correct attributes")

19106 for e in self._pyangbind_elements:

19107 nobj = getattr(args[0], e)

19108 if nobj._changed() is False:

19109 continue

19110 setmethod = getattr(self, "_set_%s" % e)

19111 if load is None:

19112 setmethod(getattr(args[0], e))

19113 else:

19114 setmethod(getattr(args[0], e), load=load)

19115

19116 def _path(self):

19117 if hasattr(self, "_parent"):

19118 return self._parent._path()+[self._yang_name]

19119 else:

19120 return ['vnfd', 'df', 'lcm-operations-configuration', 'operate-vnf-op-config', 'day1-2', 'initial-config-primitive']

19121

19122 def _get_seq(self):

19123 """

19124 Getter method for seq, mapped from YANG variable /vnfd/df/lcm_operations_configuration/operate_vnf_op_config/day1_2/initial_config_primitive/seq (uint64)

19125

19126 YANG Description: Sequence number for the configuration primitive.

19127 """

19128 return self.__seq

19129

19130 def _set_seq(self, v, load=False):

19131 """

19132 Setter method for seq, mapped from YANG variable /vnfd/df/lcm_operations_configuration/operate_vnf_op_config/day1_2/initial_config_primitive/seq (uint64)

19133 If this variable is read-only (config: false) in the

19134 source YANG file, then _set_seq is considered as a private

19135 method. Backends looking to populate this variable should

19136 do so via calling thisObj._set_seq() directly.

19137

19138 YANG Description: Sequence number for the configuration primitive.

19139 """

19140 parent = getattr(self, "_parent", None)

19141 if parent is not None and load is False:

19142 raise AttributeError("Cannot set keys directly when" +

19143 " within an instantiated list")

19144

19145 if hasattr(v, "_utype"):

19146 v = v._utype(v)

19147 try:

19148 t = YANGDynClass(v,base=RestrictedClassType(base_type=long, restriction_dict={'range': ['0..18446744073709551615']}, int_size=64), is_leaf=True, yang_name="seq", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, is_keyval=True, namespace='urn:etsi:osm:yang:augments:day1-2', defining_module='day1-2', yang_type='uint64', is_config=True)

19149 except (TypeError, ValueError):

19150 raise ValueError({

19151 'error-string': """seq must be of a type compatible with uint64""",

19152 'defined-type': "uint64",

19153 'generated-type': """YANGDynClass(base=RestrictedClassType(base_type=long, restriction_dict={'range': ['0..18446744073709551615']}, int_size=64), is_leaf=True, yang_name="seq", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, is_keyval=True, namespace='urn:etsi:osm:yang:augments:day1-2', defining_module='day1-2', yang_type='uint64', is_config=True)""",

19154 })

19155

19156 self.__seq = t

19157 if hasattr(self, '_set'):

19158 self._set()

19159

19160 def _unset_seq(self):

19161 self.__seq = YANGDynClass(base=RestrictedClassType(base_type=long, restriction_dict={'range': ['0..18446744073709551615']}, int_size=64), is_leaf=True, yang_name="seq", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, is_keyval=True, namespace='urn:etsi:osm:yang:augments:day1-2', defining_module='day1-2', yang_type='uint64', is_config=True)

19162

19163

19164 def _get_name(self):

19165 """

19166 Getter method for name, mapped from YANG variable /vnfd/df/lcm_operations_configuration/operate_vnf_op_config/day1_2/initial_config_primitive/name (string)

19167

19168 YANG Description: Name of the configuration primitive.

19169 """

19170 return self.__name

19171

19172 def _set_name(self, v, load=False):

19173 """

19174 Setter method for name, mapped from YANG variable /vnfd/df/lcm_operations_configuration/operate_vnf_op_config/day1_2/initial_config_primitive/name (string)

19175 If this variable is read-only (config: false) in the

19176 source YANG file, then _set_name is considered as a private

19177 method. Backends looking to populate this variable should

19178 do so via calling thisObj._set_name() directly.

19179

19180 YANG Description: Name of the configuration primitive.

19181 """

19182 if hasattr(v, "_utype"):

19183 v = v._utype(v)

19184 try:

19185 t = YANGDynClass(v,base=str, is_leaf=True, yang_name="name", parent=self, choice=('primitive-type', 'primitive-definition'), path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='urn:etsi:osm:yang:augments:day1-2', defining_module='day1-2', yang_type='string', is_config=True)

19186 except (TypeError, ValueError):

19187 raise ValueError({

19188 'error-string': """name must be of a type compatible with string""",

19189 'defined-type': "string",

19190 'generated-type': """YANGDynClass(base=str, is_leaf=True, yang_name="name", parent=self, choice=('primitive-type', 'primitive-definition'), path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='urn:etsi:osm:yang:augments:day1-2', defining_module='day1-2', yang_type='string', is_config=True)""",

19191 })

19192

19193 self.__name = t

19194 if hasattr(self, '_set'):

19195 self._set()

19196

19197 def _unset_name(self):

19198 self.__name = YANGDynClass(base=str, is_leaf=True, yang_name="name", parent=self, choice=('primitive-type', 'primitive-definition'), path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='urn:etsi:osm:yang:augments:day1-2', defining_module='day1-2', yang_type='string', is_config=True)

19199

19200

19201 def _get_execution_environment_ref(self):

19202 """

19203 Getter method for execution_environment_ref, mapped from YANG variable /vnfd/df/lcm_operations_configuration/operate_vnf_op_config/day1_2/initial_config_primitive/execution_environment_ref (leafref)

19204

19205 YANG Description: Leaf reference to the particular execution environment

19206 """

19207 return self.__execution_environment_ref

19208

19209 def _set_execution_environment_ref(self, v, load=False):

19210 """

19211 Setter method for execution_environment_ref, mapped from YANG variable /vnfd/df/lcm_operations_configuration/operate_vnf_op_config/day1_2/initial_config_primitive/execution_environment_ref (leafref)

19212 If this variable is read-only (config: false) in the

19213 source YANG file, then _set_execution_environment_ref is considered as a private

19214 method. Backends looking to populate this variable should

19215 do so via calling thisObj._set_execution_environment_ref() directly.

19216

19217 YANG Description: Leaf reference to the particular execution environment

19218 """

19219 if hasattr(v, "_utype"):

19220 v = v._utype(v)

19221 try:

19222 t = YANGDynClass(v,base=str, is_leaf=True, yang_name="execution-environment-ref", parent=self, choice=('primitive-type', 'primitive-definition'), path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='urn:etsi:osm:yang:augments:day1-2', defining_module='day1-2', yang_type='leafref', is_config=True)

19223 except (TypeError, ValueError):

19224 raise ValueError({

19225 'error-string': """execution_environment_ref must be of a type compatible with leafref""",

19226 'defined-type': "leafref",

19227 'generated-type': """YANGDynClass(base=str, is_leaf=True, yang_name="execution-environment-ref", parent=self, choice=('primitive-type', 'primitive-definition'), path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='urn:etsi:osm:yang:augments:day1-2', defining_module='day1-2', yang_type='leafref', is_config=True)""",

19228 })

19229

19230 self.__execution_environment_ref = t

19231 if hasattr(self, '_set'):

19232 self._set()

19233

19234 def _unset_execution_environment_ref(self):

19235 self.__execution_environment_ref = YANGDynClass(base=str, is_leaf=True, yang_name="execution-environment-ref", parent=self, choice=('primitive-type', 'primitive-definition'), path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='urn:etsi:osm:yang:augments:day1-2', defining_module='day1-2', yang_type='leafref', is_config=True)

19236

19237

19238 def _get_parameter(self):

19239 """

19240 Getter method for parameter, mapped from YANG variable /vnfd/df/lcm_operations_configuration/operate_vnf_op_config/day1_2/initial_config_primitive/parameter (list)

19241

19242 YANG Description: List of parameters to the configuration primitive.

19243 """

19244 return self.__parameter

19245

19246 def _set_parameter(self, v, load=False):

19247 """

19248 Setter method for parameter, mapped from YANG variable /vnfd/df/lcm_operations_configuration/operate_vnf_op_config/day1_2/initial_config_primitive/parameter (list)

19249 If this variable is read-only (config: false) in the

19250 source YANG file, then _set_parameter is considered as a private

19251 method. Backends looking to populate this variable should

19252 do so via calling thisObj._set_parameter() directly.

19253

19254 YANG Description: List of parameters to the configuration primitive.

19255 """

19256 if hasattr(v, "_utype"):

19257 v = v._utype(v)

19258 try:

19259 t = YANGDynClass(v,base=YANGListType("name",yc_parameter_etsi_nfv_vnfd__vnfd_df_lcm_operations_configuration_operate_vnf_op_config_day1_2_initial_config_primitive_parameter, yang_name="parameter", parent=self, is_container='list', user_ordered=False, path_helper=self._path_helper, yang_keys='name', extensions=None, choice=False), is_container='list', yang_name="parameter", parent=self, choice=('primitive-type', 'primitive-definition'), path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, extensions=None, namespace='urn:etsi:osm:yang:augments:day1-2', defining_module='day1-2', yang_type='list', is_config=True)

19260 except (TypeError, ValueError):

19261 raise ValueError({

19262 'error-string': """parameter must be of a type compatible with list""",

19263 'defined-type': "list",

19264 'generated-type': """YANGDynClass(base=YANGListType("name",yc_parameter_etsi_nfv_vnfd__vnfd_df_lcm_operations_configuration_operate_vnf_op_config_day1_2_initial_config_primitive_parameter, yang_name="parameter", parent=self, is_container='list', user_ordered=False, path_helper=self._path_helper, yang_keys='name', extensions=None, choice=False), is_container='list', yang_name="parameter", parent=self, choice=('primitive-type', 'primitive-definition'), path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, extensions=None, namespace='urn:etsi:osm:yang:augments:day1-2', defining_module='day1-2', yang_type='list', is_config=True)""",

19265 })

19266

19267 self.__parameter = t

19268 if hasattr(self, '_set'):

19269 self._set()

19270

19271 def _unset_parameter(self):

19272 self.__parameter = YANGDynClass(base=YANGListType("name",yc_parameter_etsi_nfv_vnfd__vnfd_df_lcm_operations_configuration_operate_vnf_op_config_day1_2_initial_config_primitive_parameter, yang_name="parameter", parent=self, is_container='list', user_ordered=False, path_helper=self._path_helper, yang_keys='name', extensions=None, choice=False), is_container='list', yang_name="parameter", parent=self, choice=('primitive-type', 'primitive-definition'), path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, extensions=None, namespace='urn:etsi:osm:yang:augments:day1-2', defining_module='day1-2', yang_type='list', is_config=True)

19273

19274

19275 def _get_user_defined_script(self):

19276 """

19277 Getter method for user_defined_script, mapped from YANG variable /vnfd/df/lcm_operations_configuration/operate_vnf_op_config/day1_2/initial_config_primitive/user_defined_script (string)

19278

19279 YANG Description: A user defined script.

19280 """

19281 return self.__user_defined_script

19282

19283 def _set_user_defined_script(self, v, load=False):

19284 """

19285 Setter method for user_defined_script, mapped from YANG variable /vnfd/df/lcm_operations_configuration/operate_vnf_op_config/day1_2/initial_config_primitive/user_defined_script (string)

19286 If this variable is read-only (config: false) in the

19287 source YANG file, then _set_user_defined_script is considered as a private

19288 method. Backends looking to populate this variable should

19289 do so via calling thisObj._set_user_defined_script() directly.

19290

19291 YANG Description: A user defined script.

19292 """

19293 if hasattr(v, "_utype"):

19294 v = v._utype(v)

19295 try:

19296 t = YANGDynClass(v,base=str, is_leaf=True, yang_name="user-defined-script", parent=self, choice=('primitive-type', 'primitive-definition'), path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='urn:etsi:osm:yang:augments:day1-2', defining_module='day1-2', yang_type='string', is_config=True)

19297 except (TypeError, ValueError):

19298 raise ValueError({

19299 'error-string': """user_defined_script must be of a type compatible with string""",

19300 'defined-type': "string",

19301 'generated-type': """YANGDynClass(base=str, is_leaf=True, yang_name="user-defined-script", parent=self, choice=('primitive-type', 'primitive-definition'), path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='urn:etsi:osm:yang:augments:day1-2', defining_module='day1-2', yang_type='string', is_config=True)""",

19302 })

19303

19304 self.__user_defined_script = t

19305 if hasattr(self, '_set'):

19306 self._set()

19307

19308 def _unset_user_defined_script(self):

19309 self.__user_defined_script = YANGDynClass(base=str, is_leaf=True, yang_name="user-defined-script", parent=self, choice=('primitive-type', 'primitive-definition'), path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='urn:etsi:osm:yang:augments:day1-2', defining_module='day1-2', yang_type='string', is_config=True)

19310

19311 seq = __builtin__.property(_get_seq, _set_seq)

19312 name = __builtin__.property(_get_name, _set_name)

19313 execution_environment_ref = __builtin__.property(_get_execution_environment_ref, _set_execution_environment_ref)

19314 parameter = __builtin__.property(_get_parameter, _set_parameter)

19315 user_defined_script = __builtin__.property(_get_user_defined_script, _set_user_defined_script)

19316

19317 __choices__ = {'primitive-type': {'primitive-definition': ['name', 'execution_environment_ref', 'parameter', 'user_defined_script']}}

19318 _pyangbind_elements = OrderedDict([('seq', seq), ('name', name), ('execution_environment_ref', execution_environment_ref), ('parameter', parameter), ('user_defined_script', user_defined_script), ])

19319

19320

19321 class yc_parameter_etsi_nfv_vnfd__vnfd_df_lcm_operations_configuration_operate_vnf_op_config_day1_2_terminate_config_primitive_parameter(PybindBase):

19322 """

19323 This class was auto-generated by the PythonClass plugin for PYANG

19324 from YANG module etsi-nfv-vnfd - based on the path /vnfd/df/lcm-operations-configuration/operate-vnf-op-config/day1-2/terminate-config-primitive/parameter. Each member element of

19325 the container is represented as a class variable - with a specific

19326 YANG type.

19327

19328 YANG Description: List of parameters to the configuration primitive.

19329 """

19330 __slots__ = ('_path_helper', '_extmethods', '__name','__data_type','__value',)

19331

19332 _yang_name = 'parameter'

19333 _yang_namespace = 'urn:etsi:nfv:yang:etsi-nfv-vnfd'

19334

19335 _pybind_generated_by = 'container'

19336

19337 def __init__(self, *args, **kwargs):

19338

19339 self._path_helper = False

19340

19341 self._extmethods = False

19342 self.__name = YANGDynClass(base=str, is_leaf=True, yang_name="name", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, is_keyval=True, namespace='urn:etsi:osm:yang:augments:day1-2', defining_module='day1-2', yang_type='string', is_config=True)

19343 self.__data_type = YANGDynClass(base=RestrictedClassType(base_type=str, restriction_type="dict_key", restriction_arg={'STRING': {}, 'INTEGER': {}, 'BOOLEAN': {}},), is_leaf=True, yang_name="data-type", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='urn:etsi:osm:yang:augments:day1-2', defining_module='day1-2', yang_type='common:parameter-data-type', is_config=True)

19344 self.__value = YANGDynClass(base=str, is_leaf=True, yang_name="value", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='urn:etsi:osm:yang:augments:day1-2', defining_module='day1-2', yang_type='string', is_config=True)

19345

19346 load = kwargs.pop("load", None)

19347 if args:

19348 if len(args) > 1:

19349 raise TypeError("cannot create a YANG container with >1 argument")

19350 all_attr = True

19351 for e in self._pyangbind_elements:

19352 if not hasattr(args[0], e):

19353 all_attr = False

19354 break

19355 if not all_attr:

19356 raise ValueError("Supplied object did not have the correct attributes")

19357 for e in self._pyangbind_elements:

19358 nobj = getattr(args[0], e)

19359 if nobj._changed() is False:

19360 continue

19361 setmethod = getattr(self, "_set_%s" % e)

19362 if load is None:

19363 setmethod(getattr(args[0], e))

19364 else:

19365 setmethod(getattr(args[0], e), load=load)

19366

19367 def _path(self):

19368 if hasattr(self, "_parent"):

19369 return self._parent._path()+[self._yang_name]

19370 else:

19371 return ['vnfd', 'df', 'lcm-operations-configuration', 'operate-vnf-op-config', 'day1-2', 'terminate-config-primitive', 'parameter']

19372

19373 def _get_name(self):

19374 """

19375 Getter method for name, mapped from YANG variable /vnfd/df/lcm_operations_configuration/operate_vnf_op_config/day1_2/terminate_config_primitive/parameter/name (string)

19376

19377 YANG Description: Name of the parameter.

19378 """

19379 return self.__name

19380

19381 def _set_name(self, v, load=False):

19382 """

19383 Setter method for name, mapped from YANG variable /vnfd/df/lcm_operations_configuration/operate_vnf_op_config/day1_2/terminate_config_primitive/parameter/name (string)

19384 If this variable is read-only (config: false) in the

19385 source YANG file, then _set_name is considered as a private

19386 method. Backends looking to populate this variable should

19387 do so via calling thisObj._set_name() directly.

19388

19389 YANG Description: Name of the parameter.

19390 """

19391 parent = getattr(self, "_parent", None)

19392 if parent is not None and load is False:

19393 raise AttributeError("Cannot set keys directly when" +

19394 " within an instantiated list")

19395

19396 if hasattr(v, "_utype"):

19397 v = v._utype(v)

19398 try:

19399 t = YANGDynClass(v,base=str, is_leaf=True, yang_name="name", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, is_keyval=True, namespace='urn:etsi:osm:yang:augments:day1-2', defining_module='day1-2', yang_type='string', is_config=True)

19400 except (TypeError, ValueError):

19401 raise ValueError({

19402 'error-string': """name must be of a type compatible with string""",

19403 'defined-type': "string",

19404 'generated-type': """YANGDynClass(base=str, is_leaf=True, yang_name="name", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, is_keyval=True, namespace='urn:etsi:osm:yang:augments:day1-2', defining_module='day1-2', yang_type='string', is_config=True)""",

19405 })

19406

19407 self.__name = t

19408 if hasattr(self, '_set'):

19409 self._set()

19410

19411 def _unset_name(self):

19412 self.__name = YANGDynClass(base=str, is_leaf=True, yang_name="name", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, is_keyval=True, namespace='urn:etsi:osm:yang:augments:day1-2', defining_module='day1-2', yang_type='string', is_config=True)

19413

19414

19415 def _get_data_type(self):

19416 """

19417 Getter method for data_type, mapped from YANG variable /vnfd/df/lcm_operations_configuration/operate_vnf_op_config/day1_2/terminate_config_primitive/parameter/data_type (common:parameter-data-type)

19418

19419 YANG Description: Data type associated with the value.

19420 """

19421 return self.__data_type

19422

19423 def _set_data_type(self, v, load=False):

19424 """

19425 Setter method for data_type, mapped from YANG variable /vnfd/df/lcm_operations_configuration/operate_vnf_op_config/day1_2/terminate_config_primitive/parameter/data_type (common:parameter-data-type)

19426 If this variable is read-only (config: false) in the

19427 source YANG file, then _set_data_type is considered as a private

19428 method. Backends looking to populate this variable should

19429 do so via calling thisObj._set_data_type() directly.

19430

19431 YANG Description: Data type associated with the value.

19432 """

19433 if hasattr(v, "_utype"):

19434 v = v._utype(v)

19435 try:

19436 t = YANGDynClass(v,base=RestrictedClassType(base_type=str, restriction_type="dict_key", restriction_arg={'STRING': {}, 'INTEGER': {}, 'BOOLEAN': {}},), is_leaf=True, yang_name="data-type", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='urn:etsi:osm:yang:augments:day1-2', defining_module='day1-2', yang_type='common:parameter-data-type', is_config=True)

19437 except (TypeError, ValueError):

19438 raise ValueError({

19439 'error-string': """data_type must be of a type compatible with common:parameter-data-type""",

19440 'defined-type': "common:parameter-data-type",

19441 'generated-type': """YANGDynClass(base=RestrictedClassType(base_type=str, restriction_type="dict_key", restriction_arg={'STRING': {}, 'INTEGER': {}, 'BOOLEAN': {}},), is_leaf=True, yang_name="data-type", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='urn:etsi:osm:yang:augments:day1-2', defining_module='day1-2', yang_type='common:parameter-data-type', is_config=True)""",

19442 })

19443

19444 self.__data_type = t

19445 if hasattr(self, '_set'):

19446 self._set()

19447

19448 def _unset_data_type(self):

19449 self.__data_type = YANGDynClass(base=RestrictedClassType(base_type=str, restriction_type="dict_key", restriction_arg={'STRING': {}, 'INTEGER': {}, 'BOOLEAN': {}},), is_leaf=True, yang_name="data-type", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='urn:etsi:osm:yang:augments:day1-2', defining_module='day1-2', yang_type='common:parameter-data-type', is_config=True)

19450

19451

19452 def _get_value(self):

19453 """

19454 Getter method for value, mapped from YANG variable /vnfd/df/lcm_operations_configuration/operate_vnf_op_config/day1_2/terminate_config_primitive/parameter/value (string)

19455

19456 YANG Description: Value associated with the name.

19457 """

19458 return self.__value

19459

19460 def _set_value(self, v, load=False):

19461 """

19462 Setter method for value, mapped from YANG variable /vnfd/df/lcm_operations_configuration/operate_vnf_op_config/day1_2/terminate_config_primitive/parameter/value (string)

19463 If this variable is read-only (config: false) in the

19464 source YANG file, then _set_value is considered as a private

19465 method. Backends looking to populate this variable should

19466 do so via calling thisObj._set_value() directly.

19467

19468 YANG Description: Value associated with the name.

19469 """

19470 if hasattr(v, "_utype"):

19471 v = v._utype(v)

19472 try:

19473 t = YANGDynClass(v,base=str, is_leaf=True, yang_name="value", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='urn:etsi:osm:yang:augments:day1-2', defining_module='day1-2', yang_type='string', is_config=True)

19474 except (TypeError, ValueError):

19475 raise ValueError({

19476 'error-string': """value must be of a type compatible with string""",

19477 'defined-type': "string",

19478 'generated-type': """YANGDynClass(base=str, is_leaf=True, yang_name="value", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='urn:etsi:osm:yang:augments:day1-2', defining_module='day1-2', yang_type='string', is_config=True)""",

19479 })

19480

19481 self.__value = t

19482 if hasattr(self, '_set'):

19483 self._set()

19484

19485 def _unset_value(self):

19486 self.__value = YANGDynClass(base=str, is_leaf=True, yang_name="value", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='urn:etsi:osm:yang:augments:day1-2', defining_module='day1-2', yang_type='string', is_config=True)

19487

19488 name = __builtin__.property(_get_name, _set_name)

19489 data_type = __builtin__.property(_get_data_type, _set_data_type)

19490 value = __builtin__.property(_get_value, _set_value)

19491

19492

19493 _pyangbind_elements = OrderedDict([('name', name), ('data_type', data_type), ('value', value), ])

19494

19495

19496 class yc_terminate_config_primitive_etsi_nfv_vnfd__vnfd_df_lcm_operations_configuration_operate_vnf_op_config_day1_2_terminate_config_primitive(PybindBase):

19497 """

19498 This class was auto-generated by the PythonClass plugin for PYANG

19499 from YANG module etsi-nfv-vnfd - based on the path /vnfd/df/lcm-operations-configuration/operate-vnf-op-config/day1-2/terminate-config-primitive. Each member element of

19500 the container is represented as a class variable - with a specific

19501 YANG type.

19502

19503 YANG Description: Terminate set of configuration primitives.

19504 """

19505 __slots__ = ('_path_helper', '_extmethods', '__seq','__name','__execution_environment_ref','__parameter','__user_defined_script',)

19506

19507 _yang_name = 'terminate-config-primitive'

19508 _yang_namespace = 'urn:etsi:nfv:yang:etsi-nfv-vnfd'

19509

19510 _pybind_generated_by = 'container'

19511

19512 def __init__(self, *args, **kwargs):

19513

19514 self._path_helper = False

19515

19516 self._extmethods = False

19517 self.__seq = YANGDynClass(base=RestrictedClassType(base_type=long, restriction_dict={'range': ['0..18446744073709551615']}, int_size=64), is_leaf=True, yang_name="seq", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, is_keyval=True, namespace='urn:etsi:osm:yang:augments:day1-2', defining_module='day1-2', yang_type='uint64', is_config=True)

19518 self.__name = YANGDynClass(base=str, is_leaf=True, yang_name="name", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='urn:etsi:osm:yang:augments:day1-2', defining_module='day1-2', yang_type='string', is_config=True)

19519 self.__execution_environment_ref = YANGDynClass(base=str, is_leaf=True, yang_name="execution-environment-ref", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='urn:etsi:osm:yang:augments:day1-2', defining_module='day1-2', yang_type='leafref', is_config=True)

19520 self.__parameter = YANGDynClass(base=YANGListType("name",yc_parameter_etsi_nfv_vnfd__vnfd_df_lcm_operations_configuration_operate_vnf_op_config_day1_2_terminate_config_primitive_parameter, yang_name="parameter", parent=self, is_container='list', user_ordered=False, path_helper=self._path_helper, yang_keys='name', extensions=None), is_container='list', yang_name="parameter", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, extensions=None, namespace='urn:etsi:osm:yang:augments:day1-2', defining_module='day1-2', yang_type='list', is_config=True)

19521 self.__user_defined_script = YANGDynClass(base=str, is_leaf=True, yang_name="user-defined-script", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='urn:etsi:osm:yang:augments:day1-2', defining_module='day1-2', yang_type='string', is_config=True)

19522

19523 load = kwargs.pop("load", None)

19524 if args:

19525 if len(args) > 1:

19526 raise TypeError("cannot create a YANG container with >1 argument")

19527 all_attr = True

19528 for e in self._pyangbind_elements:

19529 if not hasattr(args[0], e):

19530 all_attr = False

19531 break

19532 if not all_attr:

19533 raise ValueError("Supplied object did not have the correct attributes")

19534 for e in self._pyangbind_elements:

19535 nobj = getattr(args[0], e)

19536 if nobj._changed() is False:

19537 continue

19538 setmethod = getattr(self, "_set_%s" % e)

19539 if load is None:

19540 setmethod(getattr(args[0], e))

19541 else:

19542 setmethod(getattr(args[0], e), load=load)

19543

19544 def _path(self):

19545 if hasattr(self, "_parent"):

19546 return self._parent._path()+[self._yang_name]

19547 else:

19548 return ['vnfd', 'df', 'lcm-operations-configuration', 'operate-vnf-op-config', 'day1-2', 'terminate-config-primitive']

19549

19550 def _get_seq(self):

19551 """

19552 Getter method for seq, mapped from YANG variable /vnfd/df/lcm_operations_configuration/operate_vnf_op_config/day1_2/terminate_config_primitive/seq (uint64)

19553

19554 YANG Description: Sequence number for the configuration primitive.

19555 """

19556 return self.__seq

19557

19558 def _set_seq(self, v, load=False):

19559 """

19560 Setter method for seq, mapped from YANG variable /vnfd/df/lcm_operations_configuration/operate_vnf_op_config/day1_2/terminate_config_primitive/seq (uint64)

19561 If this variable is read-only (config: false) in the

19562 source YANG file, then _set_seq is considered as a private

19563 method. Backends looking to populate this variable should

19564 do so via calling thisObj._set_seq() directly.

19565

19566 YANG Description: Sequence number for the configuration primitive.

19567 """

19568 parent = getattr(self, "_parent", None)

19569 if parent is not None and load is False:

19570 raise AttributeError("Cannot set keys directly when" +

19571 " within an instantiated list")

19572

19573 if hasattr(v, "_utype"):

19574 v = v._utype(v)

19575 try:

19576 t = YANGDynClass(v,base=RestrictedClassType(base_type=long, restriction_dict={'range': ['0..18446744073709551615']}, int_size=64), is_leaf=True, yang_name="seq", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, is_keyval=True, namespace='urn:etsi:osm:yang:augments:day1-2', defining_module='day1-2', yang_type='uint64', is_config=True)

19577 except (TypeError, ValueError):

19578 raise ValueError({

19579 'error-string': """seq must be of a type compatible with uint64""",

19580 'defined-type': "uint64",

19581 'generated-type': """YANGDynClass(base=RestrictedClassType(base_type=long, restriction_dict={'range': ['0..18446744073709551615']}, int_size=64), is_leaf=True, yang_name="seq", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, is_keyval=True, namespace='urn:etsi:osm:yang:augments:day1-2', defining_module='day1-2', yang_type='uint64', is_config=True)""",

19582 })

19583

19584 self.__seq = t

19585 if hasattr(self, '_set'):

19586 self._set()

19587

19588 def _unset_seq(self):

19589 self.__seq = YANGDynClass(base=RestrictedClassType(base_type=long, restriction_dict={'range': ['0..18446744073709551615']}, int_size=64), is_leaf=True, yang_name="seq", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, is_keyval=True, namespace='urn:etsi:osm:yang:augments:day1-2', defining_module='day1-2', yang_type='uint64', is_config=True)

19590

19591

19592 def _get_name(self):

19593 """

19594 Getter method for name, mapped from YANG variable /vnfd/df/lcm_operations_configuration/operate_vnf_op_config/day1_2/terminate_config_primitive/name (string)

19595

19596 YANG Description: Name of the configuration primitive.

19597 """

19598 return self.__name

19599

19600 def _set_name(self, v, load=False):

19601 """

19602 Setter method for name, mapped from YANG variable /vnfd/df/lcm_operations_configuration/operate_vnf_op_config/day1_2/terminate_config_primitive/name (string)

19603 If this variable is read-only (config: false) in the

19604 source YANG file, then _set_name is considered as a private

19605 method. Backends looking to populate this variable should

19606 do so via calling thisObj._set_name() directly.

19607

19608 YANG Description: Name of the configuration primitive.

19609 """

19610 if hasattr(v, "_utype"):

19611 v = v._utype(v)

19612 try:

19613 t = YANGDynClass(v,base=str, is_leaf=True, yang_name="name", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='urn:etsi:osm:yang:augments:day1-2', defining_module='day1-2', yang_type='string', is_config=True)

19614 except (TypeError, ValueError):

19615 raise ValueError({

19616 'error-string': """name must be of a type compatible with string""",

19617 'defined-type': "string",

19618 'generated-type': """YANGDynClass(base=str, is_leaf=True, yang_name="name", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='urn:etsi:osm:yang:augments:day1-2', defining_module='day1-2', yang_type='string', is_config=True)""",

19619 })

19620

19621 self.__name = t

19622 if hasattr(self, '_set'):

19623 self._set()

19624

19625 def _unset_name(self):

19626 self.__name = YANGDynClass(base=str, is_leaf=True, yang_name="name", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='urn:etsi:osm:yang:augments:day1-2', defining_module='day1-2', yang_type='string', is_config=True)

19627

19628

19629 def _get_execution_environment_ref(self):

19630 """

19631 Getter method for execution_environment_ref, mapped from YANG variable /vnfd/df/lcm_operations_configuration/operate_vnf_op_config/day1_2/terminate_config_primitive/execution_environment_ref (leafref)

19632

19633 YANG Description: Leaf reference to the particular execution environment

19634 """

19635 return self.__execution_environment_ref

19636

19637 def _set_execution_environment_ref(self, v, load=False):

19638 """

19639 Setter method for execution_environment_ref, mapped from YANG variable /vnfd/df/lcm_operations_configuration/operate_vnf_op_config/day1_2/terminate_config_primitive/execution_environment_ref (leafref)

19640 If this variable is read-only (config: false) in the

19641 source YANG file, then _set_execution_environment_ref is considered as a private

19642 method. Backends looking to populate this variable should

19643 do so via calling thisObj._set_execution_environment_ref() directly.

19644

19645 YANG Description: Leaf reference to the particular execution environment

19646 """

19647 if hasattr(v, "_utype"):

19648 v = v._utype(v)

19649 try:

19650 t = YANGDynClass(v,base=str, is_leaf=True, yang_name="execution-environment-ref", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='urn:etsi:osm:yang:augments:day1-2', defining_module='day1-2', yang_type='leafref', is_config=True)

19651 except (TypeError, ValueError):

19652 raise ValueError({

19653 'error-string': """execution_environment_ref must be of a type compatible with leafref""",

19654 'defined-type': "leafref",

19655 'generated-type': """YANGDynClass(base=str, is_leaf=True, yang_name="execution-environment-ref", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='urn:etsi:osm:yang:augments:day1-2', defining_module='day1-2', yang_type='leafref', is_config=True)""",

19656 })

19657

19658 self.__execution_environment_ref = t

19659 if hasattr(self, '_set'):

19660 self._set()

19661

19662 def _unset_execution_environment_ref(self):

19663 self.__execution_environment_ref = YANGDynClass(base=str, is_leaf=True, yang_name="execution-environment-ref", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='urn:etsi:osm:yang:augments:day1-2', defining_module='day1-2', yang_type='leafref', is_config=True)

19664

19665

19666 def _get_parameter(self):

19667 """

19668 Getter method for parameter, mapped from YANG variable /vnfd/df/lcm_operations_configuration/operate_vnf_op_config/day1_2/terminate_config_primitive/parameter (list)

19669

19670 YANG Description: List of parameters to the configuration primitive.

19671 """

19672 return self.__parameter

19673

19674 def _set_parameter(self, v, load=False):

19675 """

19676 Setter method for parameter, mapped from YANG variable /vnfd/df/lcm_operations_configuration/operate_vnf_op_config/day1_2/terminate_config_primitive/parameter (list)

19677 If this variable is read-only (config: false) in the

19678 source YANG file, then _set_parameter is considered as a private

19679 method. Backends looking to populate this variable should

19680 do so via calling thisObj._set_parameter() directly.

19681

19682 YANG Description: List of parameters to the configuration primitive.

19683 """

19684 if hasattr(v, "_utype"):

19685 v = v._utype(v)

19686 try:

19687 t = YANGDynClass(v,base=YANGListType("name",yc_parameter_etsi_nfv_vnfd__vnfd_df_lcm_operations_configuration_operate_vnf_op_config_day1_2_terminate_config_primitive_parameter, yang_name="parameter", parent=self, is_container='list', user_ordered=False, path_helper=self._path_helper, yang_keys='name', extensions=None), is_container='list', yang_name="parameter", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, extensions=None, namespace='urn:etsi:osm:yang:augments:day1-2', defining_module='day1-2', yang_type='list', is_config=True)

19688 except (TypeError, ValueError):

19689 raise ValueError({

19690 'error-string': """parameter must be of a type compatible with list""",

19691 'defined-type': "list",

19692 'generated-type': """YANGDynClass(base=YANGListType("name",yc_parameter_etsi_nfv_vnfd__vnfd_df_lcm_operations_configuration_operate_vnf_op_config_day1_2_terminate_config_primitive_parameter, yang_name="parameter", parent=self, is_container='list', user_ordered=False, path_helper=self._path_helper, yang_keys='name', extensions=None), is_container='list', yang_name="parameter", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, extensions=None, namespace='urn:etsi:osm:yang:augments:day1-2', defining_module='day1-2', yang_type='list', is_config=True)""",

19693 })

19694

19695 self.__parameter = t

19696 if hasattr(self, '_set'):

19697 self._set()

19698

19699 def _unset_parameter(self):

19700 self.__parameter = YANGDynClass(base=YANGListType("name",yc_parameter_etsi_nfv_vnfd__vnfd_df_lcm_operations_configuration_operate_vnf_op_config_day1_2_terminate_config_primitive_parameter, yang_name="parameter", parent=self, is_container='list', user_ordered=False, path_helper=self._path_helper, yang_keys='name', extensions=None), is_container='list', yang_name="parameter", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, extensions=None, namespace='urn:etsi:osm:yang:augments:day1-2', defining_module='day1-2', yang_type='list', is_config=True)

19701

19702

19703 def _get_user_defined_script(self):

19704 """

19705 Getter method for user_defined_script, mapped from YANG variable /vnfd/df/lcm_operations_configuration/operate_vnf_op_config/day1_2/terminate_config_primitive/user_defined_script (string)

19706

19707 YANG Description: A user defined script.

19708 """

19709 return self.__user_defined_script

19710

19711 def _set_user_defined_script(self, v, load=False):

19712 """

19713 Setter method for user_defined_script, mapped from YANG variable /vnfd/df/lcm_operations_configuration/operate_vnf_op_config/day1_2/terminate_config_primitive/user_defined_script (string)

19714 If this variable is read-only (config: false) in the

19715 source YANG file, then _set_user_defined_script is considered as a private

19716 method. Backends looking to populate this variable should

19717 do so via calling thisObj._set_user_defined_script() directly.

19718

19719 YANG Description: A user defined script.

19720 """

19721 if hasattr(v, "_utype"):

19722 v = v._utype(v)

19723 try:

19724 t = YANGDynClass(v,base=str, is_leaf=True, yang_name="user-defined-script", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='urn:etsi:osm:yang:augments:day1-2', defining_module='day1-2', yang_type='string', is_config=True)

19725 except (TypeError, ValueError):

19726 raise ValueError({

19727 'error-string': """user_defined_script must be of a type compatible with string""",

19728 'defined-type': "string",

19729 'generated-type': """YANGDynClass(base=str, is_leaf=True, yang_name="user-defined-script", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='urn:etsi:osm:yang:augments:day1-2', defining_module='day1-2', yang_type='string', is_config=True)""",

19730 })

19731

19732 self.__user_defined_script = t

19733 if hasattr(self, '_set'):

19734 self._set()

19735

19736 def _unset_user_defined_script(self):

19737 self.__user_defined_script = YANGDynClass(base=str, is_leaf=True, yang_name="user-defined-script", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='urn:etsi:osm:yang:augments:day1-2', defining_module='day1-2', yang_type='string', is_config=True)

19738

19739 seq = __builtin__.property(_get_seq, _set_seq)

19740 name = __builtin__.property(_get_name, _set_name)

19741 execution_environment_ref = __builtin__.property(_get_execution_environment_ref, _set_execution_environment_ref)

19742 parameter = __builtin__.property(_get_parameter, _set_parameter)

19743 user_defined_script = __builtin__.property(_get_user_defined_script, _set_user_defined_script)

19744

19745

19746 _pyangbind_elements = OrderedDict([('seq', seq), ('name', name), ('execution_environment_ref', execution_environment_ref), ('parameter', parameter), ('user_defined_script', user_defined_script), ])

19747

19748

19749 class yc_metrics_etsi_nfv_vnfd__vnfd_df_lcm_operations_configuration_operate_vnf_op_config_day1_2_metrics(PybindBase):

19750 """

19751 This class was auto-generated by the PythonClass plugin for PYANG

19752 from YANG module etsi-nfv-vnfd - based on the path /vnfd/df/lcm-operations-configuration/operate-vnf-op-config/day1-2/metrics. Each member element of

19753 the container is represented as a class variable - with a specific

19754 YANG type.

19755

19756 YANG Description: List of VNFC related metrics

19757 """

19758 __slots__ = ('_path_helper', '_extmethods', '__name',)

19759

19760 _yang_name = 'metrics'

19761 _yang_namespace = 'urn:etsi:nfv:yang:etsi-nfv-vnfd'

19762

19763 _pybind_generated_by = 'container'

19764

19765 def __init__(self, *args, **kwargs):

19766

19767 self._path_helper = False

19768

19769 self._extmethods = False

19770 self.__name = YANGDynClass(base=str, is_leaf=True, yang_name="name", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, is_keyval=True, namespace='urn:etsi:osm:yang:augments:day1-2', defining_module='day1-2', yang_type='string', is_config=True)

19771

19772 load = kwargs.pop("load", None)

19773 if args:

19774 if len(args) > 1:

19775 raise TypeError("cannot create a YANG container with >1 argument")

19776 all_attr = True

19777 for e in self._pyangbind_elements:

19778 if not hasattr(args[0], e):

19779 all_attr = False

19780 break

19781 if not all_attr:

19782 raise ValueError("Supplied object did not have the correct attributes")

19783 for e in self._pyangbind_elements:

19784 nobj = getattr(args[0], e)

19785 if nobj._changed() is False:

19786 continue

19787 setmethod = getattr(self, "_set_%s" % e)

19788 if load is None:

19789 setmethod(getattr(args[0], e))

19790 else:

19791 setmethod(getattr(args[0], e), load=load)

19792

19793 def _path(self):

19794 if hasattr(self, "_parent"):

19795 return self._parent._path()+[self._yang_name]

19796 else:

19797 return ['vnfd', 'df', 'lcm-operations-configuration', 'operate-vnf-op-config', 'day1-2', 'metrics']

19798

19799 def _get_name(self):

19800 """

19801 Getter method for name, mapped from YANG variable /vnfd/df/lcm_operations_configuration/operate_vnf_op_config/day1_2/metrics/name (string)

19802

19803 YANG Description: Name of the metric, as defined in the Juju charm.

19804 """

19805 return self.__name

19806

19807 def _set_name(self, v, load=False):

19808 """

19809 Setter method for name, mapped from YANG variable /vnfd/df/lcm_operations_configuration/operate_vnf_op_config/day1_2/metrics/name (string)

19810 If this variable is read-only (config: false) in the

19811 source YANG file, then _set_name is considered as a private

19812 method. Backends looking to populate this variable should

19813 do so via calling thisObj._set_name() directly.

19814

19815 YANG Description: Name of the metric, as defined in the Juju charm.

19816 """

19817 parent = getattr(self, "_parent", None)

19818 if parent is not None and load is False:

19819 raise AttributeError("Cannot set keys directly when" +

19820 " within an instantiated list")

19821

19822 if hasattr(v, "_utype"):

19823 v = v._utype(v)

19824 try:

19825 t = YANGDynClass(v,base=str, is_leaf=True, yang_name="name", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, is_keyval=True, namespace='urn:etsi:osm:yang:augments:day1-2', defining_module='day1-2', yang_type='string', is_config=True)

19826 except (TypeError, ValueError):

19827 raise ValueError({

19828 'error-string': """name must be of a type compatible with string""",

19829 'defined-type': "string",

19830 'generated-type': """YANGDynClass(base=str, is_leaf=True, yang_name="name", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, is_keyval=True, namespace='urn:etsi:osm:yang:augments:day1-2', defining_module='day1-2', yang_type='string', is_config=True)""",

19831 })

19832

19833 self.__name = t

19834 if hasattr(self, '_set'):

19835 self._set()

19836

19837 def _unset_name(self):

19838 self.__name = YANGDynClass(base=str, is_leaf=True, yang_name="name", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, is_keyval=True, namespace='urn:etsi:osm:yang:augments:day1-2', defining_module='day1-2', yang_type='string', is_config=True)

19839

19840 name = __builtin__.property(_get_name, _set_name)

19841

19842

19843 _pyangbind_elements = OrderedDict([('name', name), ])

19844

19845

19846 class yc_provider_etsi_nfv_vnfd__vnfd_df_lcm_operations_configuration_operate_vnf_op_config_day1_2_relation_provider(PybindBase):

19847 """

19848 This class was auto-generated by the PythonClass plugin for PYANG

19849 from YANG module etsi-nfv-vnfd - based on the path /vnfd/df/lcm-operations-configuration/operate-vnf-op-config/day1-2/relation/provider. Each member element of

19850 the container is represented as a class variable - with a specific

19851 YANG type.

19852

19853 YANG Description: Execution environment that offers an endpoint for a particular service

19854 """

19855 __slots__ = ('_path_helper', '_extmethods', '__vdu_profile_id','__kdu_resource_profile_id','__vnf_profile_id','__execution_environment_ref','__endpoint',)

19856

19857 _yang_name = 'provider'

19858 _yang_namespace = 'urn:etsi:nfv:yang:etsi-nfv-vnfd'

19859

19860 _pybind_generated_by = 'container'

19861

19862 def __init__(self, *args, **kwargs):

19863

19864 self._path_helper = False

19865

19866 self._extmethods = False

19867 self.__vdu_profile_id = YANGDynClass(base=str, is_leaf=True, yang_name="vdu-profile-id", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='urn:etsi:osm:yang:augments:day1-2', defining_module='day1-2', yang_type='leafref', is_config=True)

19868 self.__kdu_resource_profile_id = YANGDynClass(base=str, is_leaf=True, yang_name="kdu-resource-profile-id", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='urn:etsi:osm:yang:augments:day1-2', defining_module='day1-2', yang_type='string', is_config=True)

19869 self.__vnf_profile_id = YANGDynClass(base=str, is_leaf=True, yang_name="vnf-profile-id", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='urn:etsi:osm:yang:augments:day1-2', defining_module='day1-2', yang_type='leafref', is_config=True)

19870 self.__execution_environment_ref = YANGDynClass(base=str, default=str(""), is_leaf=True, yang_name="execution-environment-ref", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='urn:etsi:osm:yang:augments:day1-2', defining_module='day1-2', yang_type='string', is_config=True)

19871 self.__endpoint = YANGDynClass(base=str, is_leaf=True, yang_name="endpoint", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='urn:etsi:osm:yang:augments:day1-2', defining_module='day1-2', yang_type='string', is_config=True)

19872

19873 load = kwargs.pop("load", None)

19874 if args:

19875 if len(args) > 1:

19876 raise TypeError("cannot create a YANG container with >1 argument")

19877 all_attr = True

19878 for e in self._pyangbind_elements:

19879 if not hasattr(args[0], e):

19880 all_attr = False

19881 break

19882 if not all_attr:

19883 raise ValueError("Supplied object did not have the correct attributes")

19884 for e in self._pyangbind_elements:

19885 nobj = getattr(args[0], e)

19886 if nobj._changed() is False:

19887 continue

19888 setmethod = getattr(self, "_set_%s" % e)

19889 if load is None:

19890 setmethod(getattr(args[0], e))

19891 else:

19892 setmethod(getattr(args[0], e), load=load)

19893

19894 def _path(self):

19895 if hasattr(self, "_parent"):

19896 return self._parent._path()+[self._yang_name]

19897 else:

19898 return ['vnfd', 'df', 'lcm-operations-configuration', 'operate-vnf-op-config', 'day1-2', 'relation', 'provider']

19899

19900 def _get_vdu_profile_id(self):

19901 """

19902 Getter method for vdu_profile_id, mapped from YANG variable /vnfd/df/lcm_operations_configuration/operate_vnf_op_config/day1_2/relation/provider/vdu_profile_id (leafref)

19903

19904 YANG Description: If the execution environment is associated to a vdu object,

19905 this parameter is the reference to the vdu-profile id.

19906 """

19907 return self.__vdu_profile_id

19908

19909 def _set_vdu_profile_id(self, v, load=False):

19910 """

19911 Setter method for vdu_profile_id, mapped from YANG variable /vnfd/df/lcm_operations_configuration/operate_vnf_op_config/day1_2/relation/provider/vdu_profile_id (leafref)

19912 If this variable is read-only (config: false) in the

19913 source YANG file, then _set_vdu_profile_id is considered as a private

19914 method. Backends looking to populate this variable should

19915 do so via calling thisObj._set_vdu_profile_id() directly.

19916

19917 YANG Description: If the execution environment is associated to a vdu object,

19918 this parameter is the reference to the vdu-profile id.

19919 """

19920 if hasattr(v, "_utype"):

19921 v = v._utype(v)

19922 try:

19923 t = YANGDynClass(v,base=str, is_leaf=True, yang_name="vdu-profile-id", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='urn:etsi:osm:yang:augments:day1-2', defining_module='day1-2', yang_type='leafref', is_config=True)

19924 except (TypeError, ValueError):

19925 raise ValueError({

19926 'error-string': """vdu_profile_id must be of a type compatible with leafref""",

19927 'defined-type': "leafref",

19928 'generated-type': """YANGDynClass(base=str, is_leaf=True, yang_name="vdu-profile-id", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='urn:etsi:osm:yang:augments:day1-2', defining_module='day1-2', yang_type='leafref', is_config=True)""",

19929 })

19930

19931 self.__vdu_profile_id = t

19932 if hasattr(self, '_set'):

19933 self._set()

19934

19935 def _unset_vdu_profile_id(self):

19936 self.__vdu_profile_id = YANGDynClass(base=str, is_leaf=True, yang_name="vdu-profile-id", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='urn:etsi:osm:yang:augments:day1-2', defining_module='day1-2', yang_type='leafref', is_config=True)

19937

19938

19939 def _get_kdu_resource_profile_id(self):

19940 """

19941 Getter method for kdu_resource_profile_id, mapped from YANG variable /vnfd/df/lcm_operations_configuration/operate_vnf_op_config/day1_2/relation/provider/kdu_resource_profile_id (string)

19942

19943 YANG Description: If the execution environment is associated to a kdu resource object,

19944 this parameter is the reference to the kdu-resource-profile id.

19945 """

19946 return self.__kdu_resource_profile_id

19947

19948 def _set_kdu_resource_profile_id(self, v, load=False):

19949 """

19950 Setter method for kdu_resource_profile_id, mapped from YANG variable /vnfd/df/lcm_operations_configuration/operate_vnf_op_config/day1_2/relation/provider/kdu_resource_profile_id (string)

19951 If this variable is read-only (config: false) in the

19952 source YANG file, then _set_kdu_resource_profile_id is considered as a private

19953 method. Backends looking to populate this variable should

19954 do so via calling thisObj._set_kdu_resource_profile_id() directly.

19955

19956 YANG Description: If the execution environment is associated to a kdu resource object,

19957 this parameter is the reference to the kdu-resource-profile id.

19958 """

19959 if hasattr(v, "_utype"):

19960 v = v._utype(v)

19961 try:

19962 t = YANGDynClass(v,base=str, is_leaf=True, yang_name="kdu-resource-profile-id", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='urn:etsi:osm:yang:augments:day1-2', defining_module='day1-2', yang_type='string', is_config=True)

19963 except (TypeError, ValueError):

19964 raise ValueError({

19965 'error-string': """kdu_resource_profile_id must be of a type compatible with string""",

19966 'defined-type': "string",

19967 'generated-type': """YANGDynClass(base=str, is_leaf=True, yang_name="kdu-resource-profile-id", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='urn:etsi:osm:yang:augments:day1-2', defining_module='day1-2', yang_type='string', is_config=True)""",

19968 })

19969

19970 self.__kdu_resource_profile_id = t

19971 if hasattr(self, '_set'):

19972 self._set()

19973

19974 def _unset_kdu_resource_profile_id(self):

19975 self.__kdu_resource_profile_id = YANGDynClass(base=str, is_leaf=True, yang_name="kdu-resource-profile-id", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='urn:etsi:osm:yang:augments:day1-2', defining_module='day1-2', yang_type='string', is_config=True)

19976

19977

19978 def _get_vnf_profile_id(self):

19979 """

19980 Getter method for vnf_profile_id, mapped from YANG variable /vnfd/df/lcm_operations_configuration/operate_vnf_op_config/day1_2/relation/provider/vnf_profile_id (leafref)

19981

19982 YANG Description: If the execution environment is associated to a vnf object,

19983 this parameter is the reference to the vnf-profile id.

19984 Only valid in the NSd. The value is implicit in a VNFd.

19985 To reference an execution environment associated to a vnf object

19986 from the VNFd, none of the profile ids need to be specified.

19987 """

19988 return self.__vnf_profile_id

19989

19990 def _set_vnf_profile_id(self, v, load=False):

19991 """

19992 Setter method for vnf_profile_id, mapped from YANG variable /vnfd/df/lcm_operations_configuration/operate_vnf_op_config/day1_2/relation/provider/vnf_profile_id (leafref)

19993 If this variable is read-only (config: false) in the

19994 source YANG file, then _set_vnf_profile_id is considered as a private

19995 method. Backends looking to populate this variable should

19996 do so via calling thisObj._set_vnf_profile_id() directly.

19997

19998 YANG Description: If the execution environment is associated to a vnf object,

19999 this parameter is the reference to the vnf-profile id.

20000 Only valid in the NSd. The value is implicit in a VNFd.

20001 To reference an execution environment associated to a vnf object

20002 from the VNFd, none of the profile ids need to be specified.

20003 """

20004 if hasattr(v, "_utype"):

20005 v = v._utype(v)

20006 try:

20007 t = YANGDynClass(v,base=str, is_leaf=True, yang_name="vnf-profile-id", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='urn:etsi:osm:yang:augments:day1-2', defining_module='day1-2', yang_type='leafref', is_config=True)

20008 except (TypeError, ValueError):

20009 raise ValueError({

20010 'error-string': """vnf_profile_id must be of a type compatible with leafref""",

20011 'defined-type': "leafref",

20012 'generated-type': """YANGDynClass(base=str, is_leaf=True, yang_name="vnf-profile-id", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='urn:etsi:osm:yang:augments:day1-2', defining_module='day1-2', yang_type='leafref', is_config=True)""",

20013 })

20014

20015 self.__vnf_profile_id = t

20016 if hasattr(self, '_set'):

20017 self._set()

20018

20019 def _unset_vnf_profile_id(self):

20020 self.__vnf_profile_id = YANGDynClass(base=str, is_leaf=True, yang_name="vnf-profile-id", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='urn:etsi:osm:yang:augments:day1-2', defining_module='day1-2', yang_type='leafref', is_config=True)

20021

20022

20023 def _get_execution_environment_ref(self):

20024 """

20025 Getter method for execution_environment_ref, mapped from YANG variable /vnfd/df/lcm_operations_configuration/operate_vnf_op_config/day1_2/relation/provider/execution_environment_ref (string)

20026

20027 YANG Description: Optional reference to the execution environment id.

20028 Only needed if there is more than one execution environment

20029 in the execution-environment-list of an object.

20030 """

20031 return self.__execution_environment_ref

20032

20033 def _set_execution_environment_ref(self, v, load=False):

20034 """

20035 Setter method for execution_environment_ref, mapped from YANG variable /vnfd/df/lcm_operations_configuration/operate_vnf_op_config/day1_2/relation/provider/execution_environment_ref (string)

20036 If this variable is read-only (config: false) in the

20037 source YANG file, then _set_execution_environment_ref is considered as a private

20038 method. Backends looking to populate this variable should

20039 do so via calling thisObj._set_execution_environment_ref() directly.

20040

20041 YANG Description: Optional reference to the execution environment id.

20042 Only needed if there is more than one execution environment

20043 in the execution-environment-list of an object.

20044 """

20045 if hasattr(v, "_utype"):

20046 v = v._utype(v)

20047 try:

20048 t = YANGDynClass(v,base=str, default=str(""), is_leaf=True, yang_name="execution-environment-ref", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='urn:etsi:osm:yang:augments:day1-2', defining_module='day1-2', yang_type='string', is_config=True)

20049 except (TypeError, ValueError):

20050 raise ValueError({

20051 'error-string': """execution_environment_ref must be of a type compatible with string""",

20052 'defined-type': "string",

20053 'generated-type': """YANGDynClass(base=str, default=str(""), is_leaf=True, yang_name="execution-environment-ref", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='urn:etsi:osm:yang:augments:day1-2', defining_module='day1-2', yang_type='string', is_config=True)""",

20054 })

20055

20056 self.__execution_environment_ref = t

20057 if hasattr(self, '_set'):

20058 self._set()

20059

20060 def _unset_execution_environment_ref(self):

20061 self.__execution_environment_ref = YANGDynClass(base=str, default=str(""), is_leaf=True, yang_name="execution-environment-ref", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='urn:etsi:osm:yang:augments:day1-2', defining_module='day1-2', yang_type='string', is_config=True)

20062

20063

20064 def _get_endpoint(self):

20065 """

20066 Getter method for endpoint, mapped from YANG variable /vnfd/df/lcm_operations_configuration/operate_vnf_op_config/day1_2/relation/provider/endpoint (string)

20067

20068 YANG Description: Endpoint name of the execution environment.

20069 """

20070 return self.__endpoint

20071

20072 def _set_endpoint(self, v, load=False):

20073 """

20074 Setter method for endpoint, mapped from YANG variable /vnfd/df/lcm_operations_configuration/operate_vnf_op_config/day1_2/relation/provider/endpoint (string)

20075 If this variable is read-only (config: false) in the

20076 source YANG file, then _set_endpoint is considered as a private

20077 method. Backends looking to populate this variable should

20078 do so via calling thisObj._set_endpoint() directly.

20079

20080 YANG Description: Endpoint name of the execution environment.

20081 """

20082 if hasattr(v, "_utype"):

20083 v = v._utype(v)

20084 try:

20085 t = YANGDynClass(v,base=str, is_leaf=True, yang_name="endpoint", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='urn:etsi:osm:yang:augments:day1-2', defining_module='day1-2', yang_type='string', is_config=True)

20086 except (TypeError, ValueError):

20087 raise ValueError({

20088 'error-string': """endpoint must be of a type compatible with string""",

20089 'defined-type': "string",

20090 'generated-type': """YANGDynClass(base=str, is_leaf=True, yang_name="endpoint", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='urn:etsi:osm:yang:augments:day1-2', defining_module='day1-2', yang_type='string', is_config=True)""",

20091 })

20092

20093 self.__endpoint = t

20094 if hasattr(self, '_set'):

20095 self._set()

20096

20097 def _unset_endpoint(self):

20098 self.__endpoint = YANGDynClass(base=str, is_leaf=True, yang_name="endpoint", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='urn:etsi:osm:yang:augments:day1-2', defining_module='day1-2', yang_type='string', is_config=True)

20099

20100 vdu_profile_id = __builtin__.property(_get_vdu_profile_id, _set_vdu_profile_id)

20101 kdu_resource_profile_id = __builtin__.property(_get_kdu_resource_profile_id, _set_kdu_resource_profile_id)

20102 vnf_profile_id = __builtin__.property(_get_vnf_profile_id, _set_vnf_profile_id)

20103 execution_environment_ref = __builtin__.property(_get_execution_environment_ref, _set_execution_environment_ref)

20104 endpoint = __builtin__.property(_get_endpoint, _set_endpoint)

20105

20106

20107 _pyangbind_elements = OrderedDict([('vdu_profile_id', vdu_profile_id), ('kdu_resource_profile_id', kdu_resource_profile_id), ('vnf_profile_id', vnf_profile_id), ('execution_environment_ref', execution_environment_ref), ('endpoint', endpoint), ])

20108

20109

20110 class yc_requirer_etsi_nfv_vnfd__vnfd_df_lcm_operations_configuration_operate_vnf_op_config_day1_2_relation_requirer(PybindBase):

20111 """

20112 This class was auto-generated by the PythonClass plugin for PYANG

20113 from YANG module etsi-nfv-vnfd - based on the path /vnfd/df/lcm-operations-configuration/operate-vnf-op-config/day1-2/relation/requirer. Each member element of

20114 the container is represented as a class variable - with a specific

20115 YANG type.

20116

20117 YANG Description: Execution environment that uses the service provided by the provider

20118 """

20119 __slots__ = ('_path_helper', '_extmethods', '__vdu_profile_id','__kdu_resource_profile_id','__vnf_profile_id','__execution_environment_ref','__endpoint',)

20120

20121 _yang_name = 'requirer'

20122 _yang_namespace = 'urn:etsi:nfv:yang:etsi-nfv-vnfd'

20123

20124 _pybind_generated_by = 'container'

20125

20126 def __init__(self, *args, **kwargs):

20127

20128 self._path_helper = False

20129

20130 self._extmethods = False

20131 self.__vdu_profile_id = YANGDynClass(base=str, is_leaf=True, yang_name="vdu-profile-id", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='urn:etsi:osm:yang:augments:day1-2', defining_module='day1-2', yang_type='leafref', is_config=True)

20132 self.__kdu_resource_profile_id = YANGDynClass(base=str, is_leaf=True, yang_name="kdu-resource-profile-id", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='urn:etsi:osm:yang:augments:day1-2', defining_module='day1-2', yang_type='string', is_config=True)

20133 self.__vnf_profile_id = YANGDynClass(base=str, is_leaf=True, yang_name="vnf-profile-id", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='urn:etsi:osm:yang:augments:day1-2', defining_module='day1-2', yang_type='leafref', is_config=True)

20134 self.__execution_environment_ref = YANGDynClass(base=str, default=str(""), is_leaf=True, yang_name="execution-environment-ref", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='urn:etsi:osm:yang:augments:day1-2', defining_module='day1-2', yang_type='string', is_config=True)

20135 self.__endpoint = YANGDynClass(base=str, is_leaf=True, yang_name="endpoint", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='urn:etsi:osm:yang:augments:day1-2', defining_module='day1-2', yang_type='string', is_config=True)

20136

20137 load = kwargs.pop("load", None)

20138 if args:

20139 if len(args) > 1:

20140 raise TypeError("cannot create a YANG container with >1 argument")

20141 all_attr = True

20142 for e in self._pyangbind_elements:

20143 if not hasattr(args[0], e):

20144 all_attr = False

20145 break

20146 if not all_attr:

20147 raise ValueError("Supplied object did not have the correct attributes")

20148 for e in self._pyangbind_elements:

20149 nobj = getattr(args[0], e)

20150 if nobj._changed() is False:

20151 continue

20152 setmethod = getattr(self, "_set_%s" % e)

20153 if load is None:

20154 setmethod(getattr(args[0], e))

20155 else:

20156 setmethod(getattr(args[0], e), load=load)

20157

20158 def _path(self):

20159 if hasattr(self, "_parent"):

20160 return self._parent._path()+[self._yang_name]

20161 else:

20162 return ['vnfd', 'df', 'lcm-operations-configuration', 'operate-vnf-op-config', 'day1-2', 'relation', 'requirer']

20163

20164 def _get_vdu_profile_id(self):

20165 """

20166 Getter method for vdu_profile_id, mapped from YANG variable /vnfd/df/lcm_operations_configuration/operate_vnf_op_config/day1_2/relation/requirer/vdu_profile_id (leafref)

20167

20168 YANG Description: If the execution environment is associated to a vdu object,

20169 this parameter is the reference to the vdu-profile id.

20170 """

20171 return self.__vdu_profile_id

20172

20173 def _set_vdu_profile_id(self, v, load=False):

20174 """

20175 Setter method for vdu_profile_id, mapped from YANG variable /vnfd/df/lcm_operations_configuration/operate_vnf_op_config/day1_2/relation/requirer/vdu_profile_id (leafref)

20176 If this variable is read-only (config: false) in the

20177 source YANG file, then _set_vdu_profile_id is considered as a private

20178 method. Backends looking to populate this variable should

20179 do so via calling thisObj._set_vdu_profile_id() directly.

20180

20181 YANG Description: If the execution environment is associated to a vdu object,

20182 this parameter is the reference to the vdu-profile id.

20183 """

20184 if hasattr(v, "_utype"):

20185 v = v._utype(v)

20186 try:

20187 t = YANGDynClass(v,base=str, is_leaf=True, yang_name="vdu-profile-id", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='urn:etsi:osm:yang:augments:day1-2', defining_module='day1-2', yang_type='leafref', is_config=True)

20188 except (TypeError, ValueError):

20189 raise ValueError({

20190 'error-string': """vdu_profile_id must be of a type compatible with leafref""",

20191 'defined-type': "leafref",

20192 'generated-type': """YANGDynClass(base=str, is_leaf=True, yang_name="vdu-profile-id", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='urn:etsi:osm:yang:augments:day1-2', defining_module='day1-2', yang_type='leafref', is_config=True)""",

20193 })

20194

20195 self.__vdu_profile_id = t

20196 if hasattr(self, '_set'):

20197 self._set()

20198

20199 def _unset_vdu_profile_id(self):

20200 self.__vdu_profile_id = YANGDynClass(base=str, is_leaf=True, yang_name="vdu-profile-id", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='urn:etsi:osm:yang:augments:day1-2', defining_module='day1-2', yang_type='leafref', is_config=True)

20201

20202

20203 def _get_kdu_resource_profile_id(self):

20204 """

20205 Getter method for kdu_resource_profile_id, mapped from YANG variable /vnfd/df/lcm_operations_configuration/operate_vnf_op_config/day1_2/relation/requirer/kdu_resource_profile_id (string)

20206

20207 YANG Description: If the execution environment is associated to a kdu resource object,

20208 this parameter is the reference to the kdu-resource-profile id.

20209 """

20210 return self.__kdu_resource_profile_id

20211

20212 def _set_kdu_resource_profile_id(self, v, load=False):

20213 """

20214 Setter method for kdu_resource_profile_id, mapped from YANG variable /vnfd/df/lcm_operations_configuration/operate_vnf_op_config/day1_2/relation/requirer/kdu_resource_profile_id (string)

20215 If this variable is read-only (config: false) in the

20216 source YANG file, then _set_kdu_resource_profile_id is considered as a private

20217 method. Backends looking to populate this variable should

20218 do so via calling thisObj._set_kdu_resource_profile_id() directly.

20219

20220 YANG Description: If the execution environment is associated to a kdu resource object,

20221 this parameter is the reference to the kdu-resource-profile id.

20222 """

20223 if hasattr(v, "_utype"):

20224 v = v._utype(v)

20225 try:

20226 t = YANGDynClass(v,base=str, is_leaf=True, yang_name="kdu-resource-profile-id", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='urn:etsi:osm:yang:augments:day1-2', defining_module='day1-2', yang_type='string', is_config=True)

20227 except (TypeError, ValueError):

20228 raise ValueError({

20229 'error-string': """kdu_resource_profile_id must be of a type compatible with string""",

20230 'defined-type': "string",

20231 'generated-type': """YANGDynClass(base=str, is_leaf=True, yang_name="kdu-resource-profile-id", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='urn:etsi:osm:yang:augments:day1-2', defining_module='day1-2', yang_type='string', is_config=True)""",

20232 })

20233

20234 self.__kdu_resource_profile_id = t

20235 if hasattr(self, '_set'):

20236 self._set()

20237

20238 def _unset_kdu_resource_profile_id(self):

20239 self.__kdu_resource_profile_id = YANGDynClass(base=str, is_leaf=True, yang_name="kdu-resource-profile-id", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='urn:etsi:osm:yang:augments:day1-2', defining_module='day1-2', yang_type='string', is_config=True)

20240

20241

20242 def _get_vnf_profile_id(self):

20243 """

20244 Getter method for vnf_profile_id, mapped from YANG variable /vnfd/df/lcm_operations_configuration/operate_vnf_op_config/day1_2/relation/requirer/vnf_profile_id (leafref)

20245

20246 YANG Description: If the execution environment is associated to a vnf object,

20247 this parameter is the reference to the vnf-profile id.

20248 Only valid in the NSd. The value is implicit in a VNFd.

20249 To reference an execution environment associated to a vnf object

20250 from the VNFd, none of the profile ids need to be specified.

20251 """

20252 return self.__vnf_profile_id

20253

20254 def _set_vnf_profile_id(self, v, load=False):

20255 """

20256 Setter method for vnf_profile_id, mapped from YANG variable /vnfd/df/lcm_operations_configuration/operate_vnf_op_config/day1_2/relation/requirer/vnf_profile_id (leafref)

20257 If this variable is read-only (config: false) in the

20258 source YANG file, then _set_vnf_profile_id is considered as a private

20259 method. Backends looking to populate this variable should

20260 do so via calling thisObj._set_vnf_profile_id() directly.

20261

20262 YANG Description: If the execution environment is associated to a vnf object,

20263 this parameter is the reference to the vnf-profile id.

20264 Only valid in the NSd. The value is implicit in a VNFd.

20265 To reference an execution environment associated to a vnf object

20266 from the VNFd, none of the profile ids need to be specified.

20267 """

20268 if hasattr(v, "_utype"):

20269 v = v._utype(v)

20270 try:

20271 t = YANGDynClass(v,base=str, is_leaf=True, yang_name="vnf-profile-id", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='urn:etsi:osm:yang:augments:day1-2', defining_module='day1-2', yang_type='leafref', is_config=True)

20272 except (TypeError, ValueError):

20273 raise ValueError({

20274 'error-string': """vnf_profile_id must be of a type compatible with leafref""",

20275 'defined-type': "leafref",

20276 'generated-type': """YANGDynClass(base=str, is_leaf=True, yang_name="vnf-profile-id", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='urn:etsi:osm:yang:augments:day1-2', defining_module='day1-2', yang_type='leafref', is_config=True)""",

20277 })

20278

20279 self.__vnf_profile_id = t

20280 if hasattr(self, '_set'):

20281 self._set()

20282

20283 def _unset_vnf_profile_id(self):

20284 self.__vnf_profile_id = YANGDynClass(base=str, is_leaf=True, yang_name="vnf-profile-id", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='urn:etsi:osm:yang:augments:day1-2', defining_module='day1-2', yang_type='leafref', is_config=True)

20285

20286

20287 def _get_execution_environment_ref(self):

20288 """

20289 Getter method for execution_environment_ref, mapped from YANG variable /vnfd/df/lcm_operations_configuration/operate_vnf_op_config/day1_2/relation/requirer/execution_environment_ref (string)

20290

20291 YANG Description: Optional reference to the execution environment id.

20292 Only needed if there is more than one execution environment

20293 in the execution-environment-list of an object.

20294 """

20295 return self.__execution_environment_ref

20296

20297 def _set_execution_environment_ref(self, v, load=False):

20298 """

20299 Setter method for execution_environment_ref, mapped from YANG variable /vnfd/df/lcm_operations_configuration/operate_vnf_op_config/day1_2/relation/requirer/execution_environment_ref (string)

20300 If this variable is read-only (config: false) in the

20301 source YANG file, then _set_execution_environment_ref is considered as a private

20302 method. Backends looking to populate this variable should

20303 do so via calling thisObj._set_execution_environment_ref() directly.

20304

20305 YANG Description: Optional reference to the execution environment id.

20306 Only needed if there is more than one execution environment

20307 in the execution-environment-list of an object.

20308 """

20309 if hasattr(v, "_utype"):

20310 v = v._utype(v)

20311 try:

20312 t = YANGDynClass(v,base=str, default=str(""), is_leaf=True, yang_name="execution-environment-ref", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='urn:etsi:osm:yang:augments:day1-2', defining_module='day1-2', yang_type='string', is_config=True)

20313 except (TypeError, ValueError):

20314 raise ValueError({

20315 'error-string': """execution_environment_ref must be of a type compatible with string""",

20316 'defined-type': "string",

20317 'generated-type': """YANGDynClass(base=str, default=str(""), is_leaf=True, yang_name="execution-environment-ref", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='urn:etsi:osm:yang:augments:day1-2', defining_module='day1-2', yang_type='string', is_config=True)""",

20318 })

20319

20320 self.__execution_environment_ref = t

20321 if hasattr(self, '_set'):

20322 self._set()

20323

20324 def _unset_execution_environment_ref(self):

20325 self.__execution_environment_ref = YANGDynClass(base=str, default=str(""), is_leaf=True, yang_name="execution-environment-ref", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='urn:etsi:osm:yang:augments:day1-2', defining_module='day1-2', yang_type='string', is_config=True)

20326

20327

20328 def _get_endpoint(self):

20329 """

20330 Getter method for endpoint, mapped from YANG variable /vnfd/df/lcm_operations_configuration/operate_vnf_op_config/day1_2/relation/requirer/endpoint (string)

20331

20332 YANG Description: Endpoint name of the execution environment.

20333 """

20334 return self.__endpoint

20335

20336 def _set_endpoint(self, v, load=False):

20337 """

20338 Setter method for endpoint, mapped from YANG variable /vnfd/df/lcm_operations_configuration/operate_vnf_op_config/day1_2/relation/requirer/endpoint (string)

20339 If this variable is read-only (config: false) in the

20340 source YANG file, then _set_endpoint is considered as a private

20341 method. Backends looking to populate this variable should

20342 do so via calling thisObj._set_endpoint() directly.

20343

20344 YANG Description: Endpoint name of the execution environment.

20345 """

20346 if hasattr(v, "_utype"):

20347 v = v._utype(v)

20348 try:

20349 t = YANGDynClass(v,base=str, is_leaf=True, yang_name="endpoint", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='urn:etsi:osm:yang:augments:day1-2', defining_module='day1-2', yang_type='string', is_config=True)

20350 except (TypeError, ValueError):

20351 raise ValueError({

20352 'error-string': """endpoint must be of a type compatible with string""",

20353 'defined-type': "string",

20354 'generated-type': """YANGDynClass(base=str, is_leaf=True, yang_name="endpoint", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='urn:etsi:osm:yang:augments:day1-2', defining_module='day1-2', yang_type='string', is_config=True)""",

20355 })

20356

20357 self.__endpoint = t

20358 if hasattr(self, '_set'):

20359 self._set()

20360

20361 def _unset_endpoint(self):

20362 self.__endpoint = YANGDynClass(base=str, is_leaf=True, yang_name="endpoint", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='urn:etsi:osm:yang:augments:day1-2', defining_module='day1-2', yang_type='string', is_config=True)

20363

20364 vdu_profile_id = __builtin__.property(_get_vdu_profile_id, _set_vdu_profile_id)

20365 kdu_resource_profile_id = __builtin__.property(_get_kdu_resource_profile_id, _set_kdu_resource_profile_id)

20366 vnf_profile_id = __builtin__.property(_get_vnf_profile_id, _set_vnf_profile_id)

20367 execution_environment_ref = __builtin__.property(_get_execution_environment_ref, _set_execution_environment_ref)

20368 endpoint = __builtin__.property(_get_endpoint, _set_endpoint)

20369

20370

20371 _pyangbind_elements = OrderedDict([('vdu_profile_id', vdu_profile_id), ('kdu_resource_profile_id', kdu_resource_profile_id), ('vnf_profile_id', vnf_profile_id), ('execution_environment_ref', execution_environment_ref), ('endpoint', endpoint), ])

20372

20373

20374 class yc_entities_etsi_nfv_vnfd__vnfd_df_lcm_operations_configuration_operate_vnf_op_config_day1_2_relation_entities(PybindBase):

20375 """

20376 This class was auto-generated by the PythonClass plugin for PYANG

20377 from YANG module etsi-nfv-vnfd - based on the path /vnfd/df/lcm-operations-configuration/operate-vnf-op-config/day1-2/relation/entities. Each member element of

20378 the container is represented as a class variable - with a specific

20379 YANG type.

20380

20381 YANG Description: DEPRECATION NOTICE: use provider and requirer instead.

20382 List of two elements to be related.

20383 Elements to be related are identified by a pair (id, endpoint).

20384 The relation will relate (id1, endpoint1) to (id2, endpoint2).

20385 """

20386 __slots__ = ('_path_helper', '_extmethods', '__id','__endpoint',)

20387

20388 _yang_name = 'entities'

20389 _yang_namespace = 'urn:etsi:nfv:yang:etsi-nfv-vnfd'

20390

20391 _pybind_generated_by = 'container'

20392

20393 def __init__(self, *args, **kwargs):

20394

20395 self._path_helper = False

20396

20397 self._extmethods = False

20398 self.__id = YANGDynClass(base=str, is_leaf=True, yang_name="id", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, is_keyval=True, namespace='urn:etsi:osm:yang:augments:day1-2', defining_module='day1-2', yang_type='string', is_config=True)

20399 self.__endpoint = YANGDynClass(base=str, is_leaf=True, yang_name="endpoint", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='urn:etsi:osm:yang:augments:day1-2', defining_module='day1-2', yang_type='string', is_config=True)

20400

20401 load = kwargs.pop("load", None)

20402 if args:

20403 if len(args) > 1:

20404 raise TypeError("cannot create a YANG container with >1 argument")

20405 all_attr = True

20406 for e in self._pyangbind_elements:

20407 if not hasattr(args[0], e):

20408 all_attr = False

20409 break

20410 if not all_attr:

20411 raise ValueError("Supplied object did not have the correct attributes")

20412 for e in self._pyangbind_elements:

20413 nobj = getattr(args[0], e)

20414 if nobj._changed() is False:

20415 continue

20416 setmethod = getattr(self, "_set_%s" % e)

20417 if load is None:

20418 setmethod(getattr(args[0], e))

20419 else:

20420 setmethod(getattr(args[0], e), load=load)

20421

20422 def _path(self):

20423 if hasattr(self, "_parent"):

20424 return self._parent._path()+[self._yang_name]

20425 else:

20426 return ['vnfd', 'df', 'lcm-operations-configuration', 'operate-vnf-op-config', 'day1-2', 'relation', 'entities']

20427

20428 def _get_id(self):

20429 """

20430 Getter method for id, mapped from YANG variable /vnfd/df/lcm_operations_configuration/operate_vnf_op_config/day1_2/relation/entities/id (string)

20431

20432 YANG Description: A string, reference to the element id in the descriptor.

20433 It could be a vnfd-id or a vdu-id in a VNFD,

20434 or a nsd-id or member-vnf-index in a NSD.

20435 """

20436 return self.__id

20437

20438 def _set_id(self, v, load=False):

20439 """

20440 Setter method for id, mapped from YANG variable /vnfd/df/lcm_operations_configuration/operate_vnf_op_config/day1_2/relation/entities/id (string)

20441 If this variable is read-only (config: false) in the

20442 source YANG file, then _set_id is considered as a private

20443 method. Backends looking to populate this variable should

20444 do so via calling thisObj._set_id() directly.

20445

20446 YANG Description: A string, reference to the element id in the descriptor.

20447 It could be a vnfd-id or a vdu-id in a VNFD,

20448 or a nsd-id or member-vnf-index in a NSD.

20449 """

20450 parent = getattr(self, "_parent", None)

20451 if parent is not None and load is False:

20452 raise AttributeError("Cannot set keys directly when" +

20453 " within an instantiated list")

20454

20455 if hasattr(v, "_utype"):

20456 v = v._utype(v)

20457 try:

20458 t = YANGDynClass(v,base=str, is_leaf=True, yang_name="id", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, is_keyval=True, namespace='urn:etsi:osm:yang:augments:day1-2', defining_module='day1-2', yang_type='string', is_config=True)

20459 except (TypeError, ValueError):

20460 raise ValueError({

20461 'error-string': """id must be of a type compatible with string""",

20462 'defined-type': "string",

20463 'generated-type': """YANGDynClass(base=str, is_leaf=True, yang_name="id", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, is_keyval=True, namespace='urn:etsi:osm:yang:augments:day1-2', defining_module='day1-2', yang_type='string', is_config=True)""",

20464 })

20465

20466 self.__id = t

20467 if hasattr(self, '_set'):

20468 self._set()

20469

20470 def _unset_id(self):

20471 self.__id = YANGDynClass(base=str, is_leaf=True, yang_name="id", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, is_keyval=True, namespace='urn:etsi:osm:yang:augments:day1-2', defining_module='day1-2', yang_type='string', is_config=True)

20472

20473

20474 def _get_endpoint(self):

20475 """

20476 Getter method for endpoint, mapped from YANG variable /vnfd/df/lcm_operations_configuration/operate_vnf_op_config/day1_2/relation/entities/endpoint (string)

20477

20478 YANG Description: Endpoint name defining the relation.

20479 """

20480 return self.__endpoint

20481

20482 def _set_endpoint(self, v, load=False):

20483 """

20484 Setter method for endpoint, mapped from YANG variable /vnfd/df/lcm_operations_configuration/operate_vnf_op_config/day1_2/relation/entities/endpoint (string)

20485 If this variable is read-only (config: false) in the

20486 source YANG file, then _set_endpoint is considered as a private

20487 method. Backends looking to populate this variable should

20488 do so via calling thisObj._set_endpoint() directly.

20489

20490 YANG Description: Endpoint name defining the relation.

20491 """

20492 if hasattr(v, "_utype"):

20493 v = v._utype(v)

20494 try:

20495 t = YANGDynClass(v,base=str, is_leaf=True, yang_name="endpoint", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='urn:etsi:osm:yang:augments:day1-2', defining_module='day1-2', yang_type='string', is_config=True)

20496 except (TypeError, ValueError):

20497 raise ValueError({

20498 'error-string': """endpoint must be of a type compatible with string""",

20499 'defined-type': "string",

20500 'generated-type': """YANGDynClass(base=str, is_leaf=True, yang_name="endpoint", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='urn:etsi:osm:yang:augments:day1-2', defining_module='day1-2', yang_type='string', is_config=True)""",

20501 })

20502

20503 self.__endpoint = t

20504 if hasattr(self, '_set'):

20505 self._set()

20506

20507 def _unset_endpoint(self):

20508 self.__endpoint = YANGDynClass(base=str, is_leaf=True, yang_name="endpoint", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='urn:etsi:osm:yang:augments:day1-2', defining_module='day1-2', yang_type='string', is_config=True)

20509

20510 id = __builtin__.property(_get_id, _set_id)

20511 endpoint = __builtin__.property(_get_endpoint, _set_endpoint)

20512

20513

20514 _pyangbind_elements = OrderedDict([('id', id), ('endpoint', endpoint), ])

20515

20516

20517 class yc_relation_etsi_nfv_vnfd__vnfd_df_lcm_operations_configuration_operate_vnf_op_config_day1_2_relation(PybindBase):

20518 """

20519 This class was auto-generated by the PythonClass plugin for PYANG

20520 from YANG module etsi-nfv-vnfd - based on the path /vnfd/df/lcm-operations-configuration/operate-vnf-op-config/day1-2/relation. Each member element of

20521 the container is represented as a class variable - with a specific

20522 YANG type.

20523

20524 YANG Description: List of relations between elements in this descriptor.

20525 The relations are used to integrate pairs of execution environments,

20526 that are in charge of the configuration and lifecycle management

20527 of VDUs, VNFs, KDUs, or NSs.

20528 Each relation is formed by a provider and a requirer.

20529 The provider is the execution environment that provides a particular service.

20530 The requirer is the execution environment that requires the service provided by the provider

20531 """

20532 __slots__ = ('_path_helper', '_extmethods', '__name','__provider','__requirer','__entities',)

20533

20534 _yang_name = 'relation'

20535 _yang_namespace = 'urn:etsi:nfv:yang:etsi-nfv-vnfd'

20536

20537 _pybind_generated_by = 'container'

20538

20539 def __init__(self, *args, **kwargs):

20540

20541 self._path_helper = False

20542

20543 self._extmethods = False

20544 self.__name = YANGDynClass(base=str, is_leaf=True, yang_name="name", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, is_keyval=True, namespace='urn:etsi:osm:yang:augments:day1-2', defining_module='day1-2', yang_type='string', is_config=True)

20545 self.__provider = YANGDynClass(base=yc_provider_etsi_nfv_vnfd__vnfd_df_lcm_operations_configuration_operate_vnf_op_config_day1_2_relation_provider, is_container='container', yang_name="provider", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, extensions=None, namespace='urn:etsi:osm:yang:augments:day1-2', defining_module='day1-2', yang_type='container', is_config=True)

20546 self.__requirer = YANGDynClass(base=yc_requirer_etsi_nfv_vnfd__vnfd_df_lcm_operations_configuration_operate_vnf_op_config_day1_2_relation_requirer, is_container='container', yang_name="requirer", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, extensions=None, namespace='urn:etsi:osm:yang:augments:day1-2', defining_module='day1-2', yang_type='container', is_config=True)

20547 self.__entities = YANGDynClass(base=YANGListType("id",yc_entities_etsi_nfv_vnfd__vnfd_df_lcm_operations_configuration_operate_vnf_op_config_day1_2_relation_entities, yang_name="entities", parent=self, is_container='list', user_ordered=False, path_helper=self._path_helper, yang_keys='id', extensions=None), is_container='list', yang_name="entities", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, extensions=None, namespace='urn:etsi:osm:yang:augments:day1-2', defining_module='day1-2', yang_type='list', is_config=True)

20548

20549 load = kwargs.pop("load", None)

20550 if args:

20551 if len(args) > 1:

20552 raise TypeError("cannot create a YANG container with >1 argument")

20553 all_attr = True

20554 for e in self._pyangbind_elements:

20555 if not hasattr(args[0], e):

20556 all_attr = False

20557 break

20558 if not all_attr:

20559 raise ValueError("Supplied object did not have the correct attributes")

20560 for e in self._pyangbind_elements:

20561 nobj = getattr(args[0], e)

20562 if nobj._changed() is False:

20563 continue

20564 setmethod = getattr(self, "_set_%s" % e)

20565 if load is None:

20566 setmethod(getattr(args[0], e))

20567 else:

20568 setmethod(getattr(args[0], e), load=load)

20569

20570 def _path(self):

20571 if hasattr(self, "_parent"):

20572 return self._parent._path()+[self._yang_name]

20573 else:

20574 return ['vnfd', 'df', 'lcm-operations-configuration', 'operate-vnf-op-config', 'day1-2', 'relation']

20575

20576 def _get_name(self):

20577 """

20578 Getter method for name, mapped from YANG variable /vnfd/df/lcm_operations_configuration/operate_vnf_op_config/day1_2/relation/name (string)

20579

20580 YANG Description: Name of the relation.

20581 """

20582 return self.__name

20583

20584 def _set_name(self, v, load=False):

20585 """

20586 Setter method for name, mapped from YANG variable /vnfd/df/lcm_operations_configuration/operate_vnf_op_config/day1_2/relation/name (string)

20587 If this variable is read-only (config: false) in the

20588 source YANG file, then _set_name is considered as a private

20589 method. Backends looking to populate this variable should

20590 do so via calling thisObj._set_name() directly.

20591

20592 YANG Description: Name of the relation.

20593 """

20594 parent = getattr(self, "_parent", None)

20595 if parent is not None and load is False:

20596 raise AttributeError("Cannot set keys directly when" +

20597 " within an instantiated list")

20598

20599 if hasattr(v, "_utype"):

20600 v = v._utype(v)

20601 try:

20602 t = YANGDynClass(v,base=str, is_leaf=True, yang_name="name", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, is_keyval=True, namespace='urn:etsi:osm:yang:augments:day1-2', defining_module='day1-2', yang_type='string', is_config=True)

20603 except (TypeError, ValueError):

20604 raise ValueError({

20605 'error-string': """name must be of a type compatible with string""",

20606 'defined-type': "string",

20607 'generated-type': """YANGDynClass(base=str, is_leaf=True, yang_name="name", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, is_keyval=True, namespace='urn:etsi:osm:yang:augments:day1-2', defining_module='day1-2', yang_type='string', is_config=True)""",

20608 })

20609

20610 self.__name = t

20611 if hasattr(self, '_set'):

20612 self._set()

20613

20614 def _unset_name(self):

20615 self.__name = YANGDynClass(base=str, is_leaf=True, yang_name="name", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, is_keyval=True, namespace='urn:etsi:osm:yang:augments:day1-2', defining_module='day1-2', yang_type='string', is_config=True)

20616

20617

20618 def _get_provider(self):

20619 """

20620 Getter method for provider, mapped from YANG variable /vnfd/df/lcm_operations_configuration/operate_vnf_op_config/day1_2/relation/provider (container)

20621

20622 YANG Description: Execution environment that offers an endpoint for a particular service

20623 """

20624 return self.__provider

20625

20626 def _set_provider(self, v, load=False):

20627 """

20628 Setter method for provider, mapped from YANG variable /vnfd/df/lcm_operations_configuration/operate_vnf_op_config/day1_2/relation/provider (container)

20629 If this variable is read-only (config: false) in the

20630 source YANG file, then _set_provider is considered as a private

20631 method. Backends looking to populate this variable should

20632 do so via calling thisObj._set_provider() directly.

20633

20634 YANG Description: Execution environment that offers an endpoint for a particular service

20635 """

20636 if hasattr(v, "_utype"):

20637 v = v._utype(v)

20638 try:

20639 t = YANGDynClass(v,base=yc_provider_etsi_nfv_vnfd__vnfd_df_lcm_operations_configuration_operate_vnf_op_config_day1_2_relation_provider, is_container='container', yang_name="provider", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, extensions=None, namespace='urn:etsi:osm:yang:augments:day1-2', defining_module='day1-2', yang_type='container', is_config=True)

20640 except (TypeError, ValueError):

20641 raise ValueError({

20642 'error-string': """provider must be of a type compatible with container""",

20643 'defined-type': "container",

20644 'generated-type': """YANGDynClass(base=yc_provider_etsi_nfv_vnfd__vnfd_df_lcm_operations_configuration_operate_vnf_op_config_day1_2_relation_provider, is_container='container', yang_name="provider", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, extensions=None, namespace='urn:etsi:osm:yang:augments:day1-2', defining_module='day1-2', yang_type='container', is_config=True)""",

20645 })

20646

20647 self.__provider = t

20648 if hasattr(self, '_set'):

20649 self._set()

20650

20651 def _unset_provider(self):

20652 self.__provider = YANGDynClass(base=yc_provider_etsi_nfv_vnfd__vnfd_df_lcm_operations_configuration_operate_vnf_op_config_day1_2_relation_provider, is_container='container', yang_name="provider", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, extensions=None, namespace='urn:etsi:osm:yang:augments:day1-2', defining_module='day1-2', yang_type='container', is_config=True)

20653

20654

20655 def _get_requirer(self):

20656 """

20657 Getter method for requirer, mapped from YANG variable /vnfd/df/lcm_operations_configuration/operate_vnf_op_config/day1_2/relation/requirer (container)

20658

20659 YANG Description: Execution environment that uses the service provided by the provider

20660 """

20661 return self.__requirer

20662

20663 def _set_requirer(self, v, load=False):

20664 """

20665 Setter method for requirer, mapped from YANG variable /vnfd/df/lcm_operations_configuration/operate_vnf_op_config/day1_2/relation/requirer (container)

20666 If this variable is read-only (config: false) in the

20667 source YANG file, then _set_requirer is considered as a private

20668 method. Backends looking to populate this variable should

20669 do so via calling thisObj._set_requirer() directly.

20670

20671 YANG Description: Execution environment that uses the service provided by the provider

20672 """

20673 if hasattr(v, "_utype"):

20674 v = v._utype(v)

20675 try:

20676 t = YANGDynClass(v,base=yc_requirer_etsi_nfv_vnfd__vnfd_df_lcm_operations_configuration_operate_vnf_op_config_day1_2_relation_requirer, is_container='container', yang_name="requirer", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, extensions=None, namespace='urn:etsi:osm:yang:augments:day1-2', defining_module='day1-2', yang_type='container', is_config=True)

20677 except (TypeError, ValueError):

20678 raise ValueError({

20679 'error-string': """requirer must be of a type compatible with container""",

20680 'defined-type': "container",

20681 'generated-type': """YANGDynClass(base=yc_requirer_etsi_nfv_vnfd__vnfd_df_lcm_operations_configuration_operate_vnf_op_config_day1_2_relation_requirer, is_container='container', yang_name="requirer", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, extensions=None, namespace='urn:etsi:osm:yang:augments:day1-2', defining_module='day1-2', yang_type='container', is_config=True)""",

20682 })

20683

20684 self.__requirer = t

20685 if hasattr(self, '_set'):

20686 self._set()

20687

20688 def _unset_requirer(self):

20689 self.__requirer = YANGDynClass(base=yc_requirer_etsi_nfv_vnfd__vnfd_df_lcm_operations_configuration_operate_vnf_op_config_day1_2_relation_requirer, is_container='container', yang_name="requirer", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, extensions=None, namespace='urn:etsi:osm:yang:augments:day1-2', defining_module='day1-2', yang_type='container', is_config=True)

20690

20691

20692 def _get_entities(self):

20693 """

20694 Getter method for entities, mapped from YANG variable /vnfd/df/lcm_operations_configuration/operate_vnf_op_config/day1_2/relation/entities (list)

20695

20696 YANG Description: DEPRECATION NOTICE: use provider and requirer instead.

20697 List of two elements to be related.

20698 Elements to be related are identified by a pair (id, endpoint).

20699 The relation will relate (id1, endpoint1) to (id2, endpoint2).

20700 """

20701 return self.__entities

20702

20703 def _set_entities(self, v, load=False):

20704 """

20705 Setter method for entities, mapped from YANG variable /vnfd/df/lcm_operations_configuration/operate_vnf_op_config/day1_2/relation/entities (list)

20706 If this variable is read-only (config: false) in the

20707 source YANG file, then _set_entities is considered as a private

20708 method. Backends looking to populate this variable should

20709 do so via calling thisObj._set_entities() directly.

20710

20711 YANG Description: DEPRECATION NOTICE: use provider and requirer instead.

20712 List of two elements to be related.

20713 Elements to be related are identified by a pair (id, endpoint).

20714 The relation will relate (id1, endpoint1) to (id2, endpoint2).

20715 """

20716 if hasattr(v, "_utype"):

20717 v = v._utype(v)

20718 try:

20719 t = YANGDynClass(v,base=YANGListType("id",yc_entities_etsi_nfv_vnfd__vnfd_df_lcm_operations_configuration_operate_vnf_op_config_day1_2_relation_entities, yang_name="entities", parent=self, is_container='list', user_ordered=False, path_helper=self._path_helper, yang_keys='id', extensions=None), is_container='list', yang_name="entities", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, extensions=None, namespace='urn:etsi:osm:yang:augments:day1-2', defining_module='day1-2', yang_type='list', is_config=True)

20720 except (TypeError, ValueError):

20721 raise ValueError({

20722 'error-string': """entities must be of a type compatible with list""",

20723 'defined-type': "list",

20724 'generated-type': """YANGDynClass(base=YANGListType("id",yc_entities_etsi_nfv_vnfd__vnfd_df_lcm_operations_configuration_operate_vnf_op_config_day1_2_relation_entities, yang_name="entities", parent=self, is_container='list', user_ordered=False, path_helper=self._path_helper, yang_keys='id', extensions=None), is_container='list', yang_name="entities", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, extensions=None, namespace='urn:etsi:osm:yang:augments:day1-2', defining_module='day1-2', yang_type='list', is_config=True)""",

20725 })

20726

20727 self.__entities = t

20728 if hasattr(self, '_set'):

20729 self._set()

20730

20731 def _unset_entities(self):

20732 self.__entities = YANGDynClass(base=YANGListType("id",yc_entities_etsi_nfv_vnfd__vnfd_df_lcm_operations_configuration_operate_vnf_op_config_day1_2_relation_entities, yang_name="entities", parent=self, is_container='list', user_ordered=False, path_helper=self._path_helper, yang_keys='id', extensions=None), is_container='list', yang_name="entities", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, extensions=None, namespace='urn:etsi:osm:yang:augments:day1-2', defining_module='day1-2', yang_type='list', is_config=True)

20733

20734 name = __builtin__.property(_get_name, _set_name)

20735 provider = __builtin__.property(_get_provider, _set_provider)

20736 requirer = __builtin__.property(_get_requirer, _set_requirer)

20737 entities = __builtin__.property(_get_entities, _set_entities)

20738

20739

20740 _pyangbind_elements = OrderedDict([('name', name), ('provider', provider), ('requirer', requirer), ('entities', entities), ])

20741

20742

20743 class yc_ssh_access_etsi_nfv_vnfd__vnfd_df_lcm_operations_configuration_operate_vnf_op_config_day1_2_config_access_ssh_access(PybindBase):

20744 """

20745 This class was auto-generated by the PythonClass plugin for PYANG

20746 from YANG module etsi-nfv-vnfd - based on the path /vnfd/df/lcm-operations-configuration/operate-vnf-op-config/day1-2/config-access/ssh-access. Each member element of

20747 the container is represented as a class variable - with a specific

20748 YANG type.

20749

20750 YANG Description: If the xNF requires ssh and this parameter is set, SSH keys

20751 will be injected so that VCA can configure the xNF or xDU via ssh.

20752 """

20753 __slots__ = ('_path_helper', '_extmethods', '__required','__default_user',)

20754

20755 _yang_name = 'ssh-access'

20756 _yang_namespace = 'urn:etsi:nfv:yang:etsi-nfv-vnfd'

20757

20758 _pybind_generated_by = 'container'

20759

20760 def __init__(self, *args, **kwargs):

20761

20762 self._path_helper = False

20763

20764 self._extmethods = False

20765 self.__required = YANGDynClass(base=YANGBool, default=YANGBool("false"), is_leaf=True, yang_name="required", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='urn:etsi:osm:yang:augments:day1-2', defining_module='day1-2', yang_type='boolean', is_config=True)

20766 self.__default_user = YANGDynClass(base=str, is_leaf=True, yang_name="default-user", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='urn:etsi:osm:yang:augments:day1-2', defining_module='day1-2', yang_type='string', is_config=True)

20767

20768 load = kwargs.pop("load", None)

20769 if args:

20770 if len(args) > 1:

20771 raise TypeError("cannot create a YANG container with >1 argument")

20772 all_attr = True

20773 for e in self._pyangbind_elements:

20774 if not hasattr(args[0], e):

20775 all_attr = False

20776 break

20777 if not all_attr:

20778 raise ValueError("Supplied object did not have the correct attributes")

20779 for e in self._pyangbind_elements:

20780 nobj = getattr(args[0], e)

20781 if nobj._changed() is False:

20782 continue

20783 setmethod = getattr(self, "_set_%s" % e)

20784 if load is None:

20785 setmethod(getattr(args[0], e))

20786 else:

20787 setmethod(getattr(args[0], e), load=load)

20788

20789 def _path(self):

20790 if hasattr(self, "_parent"):

20791 return self._parent._path()+[self._yang_name]

20792 else:

20793 return ['vnfd', 'df', 'lcm-operations-configuration', 'operate-vnf-op-config', 'day1-2', 'config-access', 'ssh-access']

20794

20795 def _get_required(self):

20796 """

20797 Getter method for required, mapped from YANG variable /vnfd/df/lcm_operations_configuration/operate_vnf_op_config/day1_2/config_access/ssh_access/required (boolean)

20798

20799 YANG Description: whether ssh access is needed or not

20800 """

20801 return self.__required

20802

20803 def _set_required(self, v, load=False):

20804 """

20805 Setter method for required, mapped from YANG variable /vnfd/df/lcm_operations_configuration/operate_vnf_op_config/day1_2/config_access/ssh_access/required (boolean)

20806 If this variable is read-only (config: false) in the

20807 source YANG file, then _set_required is considered as a private

20808 method. Backends looking to populate this variable should

20809 do so via calling thisObj._set_required() directly.

20810

20811 YANG Description: whether ssh access is needed or not

20812 """

20813 if hasattr(v, "_utype"):

20814 v = v._utype(v)

20815 try:

20816 t = YANGDynClass(v,base=YANGBool, default=YANGBool("false"), is_leaf=True, yang_name="required", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='urn:etsi:osm:yang:augments:day1-2', defining_module='day1-2', yang_type='boolean', is_config=True)

20817 except (TypeError, ValueError):

20818 raise ValueError({

20819 'error-string': """required must be of a type compatible with boolean""",

20820 'defined-type': "boolean",

20821 'generated-type': """YANGDynClass(base=YANGBool, default=YANGBool("false"), is_leaf=True, yang_name="required", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='urn:etsi:osm:yang:augments:day1-2', defining_module='day1-2', yang_type='boolean', is_config=True)""",

20822 })

20823

20824 self.__required = t

20825 if hasattr(self, '_set'):

20826 self._set()

20827

20828 def _unset_required(self):

20829 self.__required = YANGDynClass(base=YANGBool, default=YANGBool("false"), is_leaf=True, yang_name="required", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='urn:etsi:osm:yang:augments:day1-2', defining_module='day1-2', yang_type='boolean', is_config=True)

20830

20831

20832 def _get_default_user(self):

20833 """

20834 Getter method for default_user, mapped from YANG variable /vnfd/df/lcm_operations_configuration/operate_vnf_op_config/day1_2/config_access/ssh_access/default_user (string)

20835

20836 YANG Description: Default user for ssh

20837 """

20838 return self.__default_user

20839

20840 def _set_default_user(self, v, load=False):

20841 """

20842 Setter method for default_user, mapped from YANG variable /vnfd/df/lcm_operations_configuration/operate_vnf_op_config/day1_2/config_access/ssh_access/default_user (string)

20843 If this variable is read-only (config: false) in the

20844 source YANG file, then _set_default_user is considered as a private

20845 method. Backends looking to populate this variable should

20846 do so via calling thisObj._set_default_user() directly.

20847

20848 YANG Description: Default user for ssh

20849 """

20850 if hasattr(v, "_utype"):

20851 v = v._utype(v)

20852 try:

20853 t = YANGDynClass(v,base=str, is_leaf=True, yang_name="default-user", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='urn:etsi:osm:yang:augments:day1-2', defining_module='day1-2', yang_type='string', is_config=True)

20854 except (TypeError, ValueError):

20855 raise ValueError({

20856 'error-string': """default_user must be of a type compatible with string""",

20857 'defined-type': "string",

20858 'generated-type': """YANGDynClass(base=str, is_leaf=True, yang_name="default-user", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='urn:etsi:osm:yang:augments:day1-2', defining_module='day1-2', yang_type='string', is_config=True)""",

20859 })

20860

20861 self.__default_user = t

20862 if hasattr(self, '_set'):

20863 self._set()

20864

20865 def _unset_default_user(self):

20866 self.__default_user = YANGDynClass(base=str, is_leaf=True, yang_name="default-user", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='urn:etsi:osm:yang:augments:day1-2', defining_module='day1-2', yang_type='string', is_config=True)

20867

20868 required = __builtin__.property(_get_required, _set_required)

20869 default_user = __builtin__.property(_get_default_user, _set_default_user)

20870

20871

20872 _pyangbind_elements = OrderedDict([('required', required), ('default_user', default_user), ])

20873

20874

20875 class yc_config_access_etsi_nfv_vnfd__vnfd_df_lcm_operations_configuration_operate_vnf_op_config_day1_2_config_access(PybindBase):

20876 """

20877 This class was auto-generated by the PythonClass plugin for PYANG

20878 from YANG module etsi-nfv-vnfd - based on the path /vnfd/df/lcm-operations-configuration/operate-vnf-op-config/day1-2/config-access. Each member element of

20879 the container is represented as a class variable - with a specific

20880 YANG type.

20881

20882 YANG Description: Indicates the way to access to the xNF or xDU for VCA configuration.

20883 For the moment there is a single way (ssh-access).

20884 """

20885 __slots__ = ('_path_helper', '_extmethods', '__ssh_access',)

20886

20887 _yang_name = 'config-access'

20888 _yang_namespace = 'urn:etsi:nfv:yang:etsi-nfv-vnfd'

20889

20890 _pybind_generated_by = 'container'

20891

20892 def __init__(self, *args, **kwargs):

20893

20894 self._path_helper = False

20895

20896 self._extmethods = False

20897 self.__ssh_access = YANGDynClass(base=yc_ssh_access_etsi_nfv_vnfd__vnfd_df_lcm_operations_configuration_operate_vnf_op_config_day1_2_config_access_ssh_access, is_container='container', yang_name="ssh-access", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, extensions=None, namespace='urn:etsi:osm:yang:augments:day1-2', defining_module='day1-2', yang_type='container', is_config=True)

20898

20899 load = kwargs.pop("load", None)

20900 if args:

20901 if len(args) > 1:

20902 raise TypeError("cannot create a YANG container with >1 argument")

20903 all_attr = True

20904 for e in self._pyangbind_elements:

20905 if not hasattr(args[0], e):

20906 all_attr = False

20907 break

20908 if not all_attr:

20909 raise ValueError("Supplied object did not have the correct attributes")

20910 for e in self._pyangbind_elements:

20911 nobj = getattr(args[0], e)

20912 if nobj._changed() is False:

20913 continue

20914 setmethod = getattr(self, "_set_%s" % e)

20915 if load is None:

20916 setmethod(getattr(args[0], e))

20917 else:

20918 setmethod(getattr(args[0], e), load=load)

20919

20920 def _path(self):

20921 if hasattr(self, "_parent"):

20922 return self._parent._path()+[self._yang_name]

20923 else:

20924 return ['vnfd', 'df', 'lcm-operations-configuration', 'operate-vnf-op-config', 'day1-2', 'config-access']

20925

20926 def _get_ssh_access(self):

20927 """

20928 Getter method for ssh_access, mapped from YANG variable /vnfd/df/lcm_operations_configuration/operate_vnf_op_config/day1_2/config_access/ssh_access (container)

20929

20930 YANG Description: If the xNF requires ssh and this parameter is set, SSH keys

20931 will be injected so that VCA can configure the xNF or xDU via ssh.

20932 """

20933 return self.__ssh_access

20934

20935 def _set_ssh_access(self, v, load=False):

20936 """

20937 Setter method for ssh_access, mapped from YANG variable /vnfd/df/lcm_operations_configuration/operate_vnf_op_config/day1_2/config_access/ssh_access (container)

20938 If this variable is read-only (config: false) in the

20939 source YANG file, then _set_ssh_access is considered as a private

20940 method. Backends looking to populate this variable should

20941 do so via calling thisObj._set_ssh_access() directly.

20942

20943 YANG Description: If the xNF requires ssh and this parameter is set, SSH keys

20944 will be injected so that VCA can configure the xNF or xDU via ssh.

20945 """

20946 if hasattr(v, "_utype"):

20947 v = v._utype(v)

20948 try:

20949 t = YANGDynClass(v,base=yc_ssh_access_etsi_nfv_vnfd__vnfd_df_lcm_operations_configuration_operate_vnf_op_config_day1_2_config_access_ssh_access, is_container='container', yang_name="ssh-access", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, extensions=None, namespace='urn:etsi:osm:yang:augments:day1-2', defining_module='day1-2', yang_type='container', is_config=True)

20950 except (TypeError, ValueError):

20951 raise ValueError({

20952 'error-string': """ssh_access must be of a type compatible with container""",

20953 'defined-type': "container",

20954 'generated-type': """YANGDynClass(base=yc_ssh_access_etsi_nfv_vnfd__vnfd_df_lcm_operations_configuration_operate_vnf_op_config_day1_2_config_access_ssh_access, is_container='container', yang_name="ssh-access", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, extensions=None, namespace='urn:etsi:osm:yang:augments:day1-2', defining_module='day1-2', yang_type='container', is_config=True)""",

20955 })

20956

20957 self.__ssh_access = t

20958 if hasattr(self, '_set'):

20959 self._set()

20960

20961 def _unset_ssh_access(self):

20962 self.__ssh_access = YANGDynClass(base=yc_ssh_access_etsi_nfv_vnfd__vnfd_df_lcm_operations_configuration_operate_vnf_op_config_day1_2_config_access_ssh_access, is_container='container', yang_name="ssh-access", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, extensions=None, namespace='urn:etsi:osm:yang:augments:day1-2', defining_module='day1-2', yang_type='container', is_config=True)

20963

20964 ssh_access = __builtin__.property(_get_ssh_access, _set_ssh_access)

20965

20966

20967 _pyangbind_elements = OrderedDict([('ssh_access', ssh_access), ])

20968

20969

20970 class yc_day1_2_etsi_nfv_vnfd__vnfd_df_lcm_operations_configuration_operate_vnf_op_config_day1_2(PybindBase):

20971 """

20972 This class was auto-generated by the PythonClass plugin for PYANG

20973 from YANG module etsi-nfv-vnfd - based on the path /vnfd/df/lcm-operations-configuration/operate-vnf-op-config/day1-2. Each member element of

20974 the container is represented as a class variable - with a specific

20975 YANG type.

20976 """

20977 __slots__ = ('_path_helper', '_extmethods', '__id','__script','__juju','__execution_environment_list','__config_primitive','__initial_config_primitive','__terminate_config_primitive','__metrics','__relation','__config_access','__blacklist_config_primitive',)

20978

20979 _yang_name = 'day1-2'

20980 _yang_namespace = 'urn:etsi:nfv:yang:etsi-nfv-vnfd'

20981

20982 _pybind_generated_by = 'container'

20983

20984 def __init__(self, *args, **kwargs):

20985

20986 self._path_helper = False

20987

20988 self._extmethods = False

20989 self.__id = YANGDynClass(base=str, is_leaf=True, yang_name="id", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, is_keyval=True, namespace='urn:etsi:osm:yang:augments:day1-2', defining_module='day1-2', yang_type='string', is_config=True)

20990 self.__script = YANGDynClass(base=yc_script_etsi_nfv_vnfd__vnfd_df_lcm_operations_configuration_operate_vnf_op_config_day1_2_script, is_container='container', yang_name="script", parent=self, choice=('config-method', 'script'), path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, extensions=None, namespace='urn:etsi:osm:yang:augments:day1-2', defining_module='day1-2', yang_type='container', is_config=True)

20991 self.__juju = YANGDynClass(base=yc_juju_etsi_nfv_vnfd__vnfd_df_lcm_operations_configuration_operate_vnf_op_config_day1_2_juju, is_container='container', yang_name="juju", parent=self, choice=('config-method', 'juju'), path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, extensions=None, namespace='urn:etsi:osm:yang:augments:day1-2', defining_module='day1-2', yang_type='container', is_config=True)

20992 self.__execution_environment_list = YANGDynClass(base=YANGListType("id",yc_execution_environment_list_etsi_nfv_vnfd__vnfd_df_lcm_operations_configuration_operate_vnf_op_config_day1_2_execution_environment_list, yang_name="execution-environment-list", parent=self, is_container='list', user_ordered=False, path_helper=self._path_helper, yang_keys='id', extensions=None, choice=False), is_container='list', yang_name="execution-environment-list", parent=self, choice=('config-method', 'execution-environment-list'), path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, extensions=None, namespace='urn:etsi:osm:yang:augments:day1-2', defining_module='day1-2', yang_type='list', is_config=True)

20993 self.__config_primitive = YANGDynClass(base=YANGListType("name",yc_config_primitive_etsi_nfv_vnfd__vnfd_df_lcm_operations_configuration_operate_vnf_op_config_day1_2_config_primitive, yang_name="config-primitive", parent=self, is_container='list', user_ordered=False, path_helper=self._path_helper, yang_keys='name', extensions=None), is_container='list', yang_name="config-primitive", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, extensions=None, namespace='urn:etsi:osm:yang:augments:day1-2', defining_module='day1-2', yang_type='list', is_config=True)

20994 self.__initial_config_primitive = YANGDynClass(base=YANGListType("seq",yc_initial_config_primitive_etsi_nfv_vnfd__vnfd_df_lcm_operations_configuration_operate_vnf_op_config_day1_2_initial_config_primitive, yang_name="initial-config-primitive", parent=self, is_container='list', user_ordered=False, path_helper=self._path_helper, yang_keys='seq', extensions=None), is_container='list', yang_name="initial-config-primitive", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, extensions=None, namespace='urn:etsi:osm:yang:augments:day1-2', defining_module='day1-2', yang_type='list', is_config=True)

20995 self.__terminate_config_primitive = YANGDynClass(base=YANGListType("seq",yc_terminate_config_primitive_etsi_nfv_vnfd__vnfd_df_lcm_operations_configuration_operate_vnf_op_config_day1_2_terminate_config_primitive, yang_name="terminate-config-primitive", parent=self, is_container='list', user_ordered=False, path_helper=self._path_helper, yang_keys='seq', extensions=None), is_container='list', yang_name="terminate-config-primitive", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, extensions=None, namespace='urn:etsi:osm:yang:augments:day1-2', defining_module='day1-2', yang_type='list', is_config=True)

20996 self.__metrics = YANGDynClass(base=YANGListType("name",yc_metrics_etsi_nfv_vnfd__vnfd_df_lcm_operations_configuration_operate_vnf_op_config_day1_2_metrics, yang_name="metrics", parent=self, is_container='list', user_ordered=False, path_helper=self._path_helper, yang_keys='name', extensions=None), is_container='list', yang_name="metrics", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, extensions=None, namespace='urn:etsi:osm:yang:augments:day1-2', defining_module='day1-2', yang_type='list', is_config=True)

20997 self.__relation = YANGDynClass(base=YANGListType("name",yc_relation_etsi_nfv_vnfd__vnfd_df_lcm_operations_configuration_operate_vnf_op_config_day1_2_relation, yang_name="relation", parent=self, is_container='list', user_ordered=False, path_helper=self._path_helper, yang_keys='name', extensions=None), is_container='list', yang_name="relation", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, extensions=None, namespace='urn:etsi:osm:yang:augments:day1-2', defining_module='day1-2', yang_type='list', is_config=True)

20998 self.__config_access = YANGDynClass(base=yc_config_access_etsi_nfv_vnfd__vnfd_df_lcm_operations_configuration_operate_vnf_op_config_day1_2_config_access, is_container='container', yang_name="config-access", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, extensions=None, namespace='urn:etsi:osm:yang:augments:day1-2', defining_module='day1-2', yang_type='container', is_config=True)

20999 self.__blacklist_config_primitive = YANGDynClass(unique=True, base=TypedListType(allowed_type=RestrictedClassType(base_type=str, restriction_type="dict_key", restriction_arg={'upgrade': {}, 'rollback': {}},)), is_leaf=False, yang_name="blacklist-config-primitive", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='urn:etsi:osm:yang:augments:day1-2', defining_module='day1-2', yang_type='enumeration', is_config=True)

21000

21001 load = kwargs.pop("load", None)

21002 if args:

21003 if len(args) > 1:

21004 raise TypeError("cannot create a YANG container with >1 argument")

21005 all_attr = True

21006 for e in self._pyangbind_elements:

21007 if not hasattr(args[0], e):

21008 all_attr = False

21009 break

21010 if not all_attr:

21011 raise ValueError("Supplied object did not have the correct attributes")

21012 for e in self._pyangbind_elements:

21013 nobj = getattr(args[0], e)

21014 if nobj._changed() is False:

21015 continue

21016 setmethod = getattr(self, "_set_%s" % e)

21017 if load is None:

21018 setmethod(getattr(args[0], e))

21019 else:

21020 setmethod(getattr(args[0], e), load=load)

21021

21022 def _path(self):

21023 if hasattr(self, "_parent"):

21024 return self._parent._path()+[self._yang_name]

21025 else:

21026 return ['vnfd', 'df', 'lcm-operations-configuration', 'operate-vnf-op-config', 'day1-2']

21027

21028 def _get_id(self):

21029 """

21030 Getter method for id, mapped from YANG variable /vnfd/df/lcm_operations_configuration/operate_vnf_op_config/day1_2/id (string)

21031

21032 YANG Description: Internal identifier for the VNF/VDU/KDU configuration

21033 """

21034 return self.__id

21035

21036 def _set_id(self, v, load=False):

21037 """

21038 Setter method for id, mapped from YANG variable /vnfd/df/lcm_operations_configuration/operate_vnf_op_config/day1_2/id (string)

21039 If this variable is read-only (config: false) in the

21040 source YANG file, then _set_id is considered as a private

21041 method. Backends looking to populate this variable should

21042 do so via calling thisObj._set_id() directly.

21043

21044 YANG Description: Internal identifier for the VNF/VDU/KDU configuration

21045 """

21046 parent = getattr(self, "_parent", None)

21047 if parent is not None and load is False:

21048 raise AttributeError("Cannot set keys directly when" +

21049 " within an instantiated list")

21050

21051 if hasattr(v, "_utype"):

21052 v = v._utype(v)

21053 try:

21054 t = YANGDynClass(v,base=str, is_leaf=True, yang_name="id", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, is_keyval=True, namespace='urn:etsi:osm:yang:augments:day1-2', defining_module='day1-2', yang_type='string', is_config=True)

21055 except (TypeError, ValueError):

21056 raise ValueError({

21057 'error-string': """id must be of a type compatible with string""",

21058 'defined-type': "string",

21059 'generated-type': """YANGDynClass(base=str, is_leaf=True, yang_name="id", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, is_keyval=True, namespace='urn:etsi:osm:yang:augments:day1-2', defining_module='day1-2', yang_type='string', is_config=True)""",

21060 })

21061

21062 self.__id = t

21063 if hasattr(self, '_set'):

21064 self._set()

21065

21066 def _unset_id(self):

21067 self.__id = YANGDynClass(base=str, is_leaf=True, yang_name="id", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, is_keyval=True, namespace='urn:etsi:osm:yang:augments:day1-2', defining_module='day1-2', yang_type='string', is_config=True)

21068

21069

21070 def _get_script(self):

21071 """

21072 Getter method for script, mapped from YANG variable /vnfd/df/lcm_operations_configuration/operate_vnf_op_config/day1_2/script (container)

21073 """

21074 return self.__script

21075

21076 def _set_script(self, v, load=False):

21077 """

21078 Setter method for script, mapped from YANG variable /vnfd/df/lcm_operations_configuration/operate_vnf_op_config/day1_2/script (container)

21079 If this variable is read-only (config: false) in the

21080 source YANG file, then _set_script is considered as a private

21081 method. Backends looking to populate this variable should

21082 do so via calling thisObj._set_script() directly.

21083 """

21084 if hasattr(v, "_utype"):

21085 v = v._utype(v)

21086 try:

21087 t = YANGDynClass(v,base=yc_script_etsi_nfv_vnfd__vnfd_df_lcm_operations_configuration_operate_vnf_op_config_day1_2_script, is_container='container', yang_name="script", parent=self, choice=('config-method', 'script'), path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, extensions=None, namespace='urn:etsi:osm:yang:augments:day1-2', defining_module='day1-2', yang_type='container', is_config=True)

21088 except (TypeError, ValueError):

21089 raise ValueError({

21090 'error-string': """script must be of a type compatible with container""",

21091 'defined-type': "container",

21092 'generated-type': """YANGDynClass(base=yc_script_etsi_nfv_vnfd__vnfd_df_lcm_operations_configuration_operate_vnf_op_config_day1_2_script, is_container='container', yang_name="script", parent=self, choice=('config-method', 'script'), path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, extensions=None, namespace='urn:etsi:osm:yang:augments:day1-2', defining_module='day1-2', yang_type='container', is_config=True)""",

21093 })

21094

21095 self.__script = t

21096 if hasattr(self, '_set'):

21097 self._set()

21098

21099 def _unset_script(self):

21100 self.__script = YANGDynClass(base=yc_script_etsi_nfv_vnfd__vnfd_df_lcm_operations_configuration_operate_vnf_op_config_day1_2_script, is_container='container', yang_name="script", parent=self, choice=('config-method', 'script'), path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, extensions=None, namespace='urn:etsi:osm:yang:augments:day1-2', defining_module='day1-2', yang_type='container', is_config=True)

21101

21102

21103 def _get_juju(self):

21104 """

21105 Getter method for juju, mapped from YANG variable /vnfd/df/lcm_operations_configuration/operate_vnf_op_config/day1_2/juju (container)

21106 """

21107 return self.__juju

21108

21109 def _set_juju(self, v, load=False):

21110 """

21111 Setter method for juju, mapped from YANG variable /vnfd/df/lcm_operations_configuration/operate_vnf_op_config/day1_2/juju (container)

21112 If this variable is read-only (config: false) in the

21113 source YANG file, then _set_juju is considered as a private

21114 method. Backends looking to populate this variable should

21115 do so via calling thisObj._set_juju() directly.

21116 """

21117 if hasattr(v, "_utype"):

21118 v = v._utype(v)

21119 try:

21120 t = YANGDynClass(v,base=yc_juju_etsi_nfv_vnfd__vnfd_df_lcm_operations_configuration_operate_vnf_op_config_day1_2_juju, is_container='container', yang_name="juju", parent=self, choice=('config-method', 'juju'), path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, extensions=None, namespace='urn:etsi:osm:yang:augments:day1-2', defining_module='day1-2', yang_type='container', is_config=True)

21121 except (TypeError, ValueError):

21122 raise ValueError({

21123 'error-string': """juju must be of a type compatible with container""",

21124 'defined-type': "container",

21125 'generated-type': """YANGDynClass(base=yc_juju_etsi_nfv_vnfd__vnfd_df_lcm_operations_configuration_operate_vnf_op_config_day1_2_juju, is_container='container', yang_name="juju", parent=self, choice=('config-method', 'juju'), path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, extensions=None, namespace='urn:etsi:osm:yang:augments:day1-2', defining_module='day1-2', yang_type='container', is_config=True)""",

21126 })

21127

21128 self.__juju = t

21129 if hasattr(self, '_set'):

21130 self._set()

21131

21132 def _unset_juju(self):

21133 self.__juju = YANGDynClass(base=yc_juju_etsi_nfv_vnfd__vnfd_df_lcm_operations_configuration_operate_vnf_op_config_day1_2_juju, is_container='container', yang_name="juju", parent=self, choice=('config-method', 'juju'), path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, extensions=None, namespace='urn:etsi:osm:yang:augments:day1-2', defining_module='day1-2', yang_type='container', is_config=True)

21134

21135

21136 def _get_execution_environment_list(self):

21137 """

21138 Getter method for execution_environment_list, mapped from YANG variable /vnfd/df/lcm_operations_configuration/operate_vnf_op_config/day1_2/execution_environment_list (list)

21139 """

21140 return self.__execution_environment_list

21141

21142 def _set_execution_environment_list(self, v, load=False):

21143 """

21144 Setter method for execution_environment_list, mapped from YANG variable /vnfd/df/lcm_operations_configuration/operate_vnf_op_config/day1_2/execution_environment_list (list)

21145 If this variable is read-only (config: false) in the

21146 source YANG file, then _set_execution_environment_list is considered as a private

21147 method. Backends looking to populate this variable should

21148 do so via calling thisObj._set_execution_environment_list() directly.

21149 """

21150 if hasattr(v, "_utype"):

21151 v = v._utype(v)

21152 try:

21153 t = YANGDynClass(v,base=YANGListType("id",yc_execution_environment_list_etsi_nfv_vnfd__vnfd_df_lcm_operations_configuration_operate_vnf_op_config_day1_2_execution_environment_list, yang_name="execution-environment-list", parent=self, is_container='list', user_ordered=False, path_helper=self._path_helper, yang_keys='id', extensions=None, choice=False), is_container='list', yang_name="execution-environment-list", parent=self, choice=('config-method', 'execution-environment-list'), path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, extensions=None, namespace='urn:etsi:osm:yang:augments:day1-2', defining_module='day1-2', yang_type='list', is_config=True)

21154 except (TypeError, ValueError):

21155 raise ValueError({

21156 'error-string': """execution_environment_list must be of a type compatible with list""",

21157 'defined-type': "list",

21158 'generated-type': """YANGDynClass(base=YANGListType("id",yc_execution_environment_list_etsi_nfv_vnfd__vnfd_df_lcm_operations_configuration_operate_vnf_op_config_day1_2_execution_environment_list, yang_name="execution-environment-list", parent=self, is_container='list', user_ordered=False, path_helper=self._path_helper, yang_keys='id', extensions=None, choice=False), is_container='list', yang_name="execution-environment-list", parent=self, choice=('config-method', 'execution-environment-list'), path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, extensions=None, namespace='urn:etsi:osm:yang:augments:day1-2', defining_module='day1-2', yang_type='list', is_config=True)""",

21159 })

21160

21161 self.__execution_environment_list = t

21162 if hasattr(self, '_set'):

21163 self._set()

21164

21165 def _unset_execution_environment_list(self):

21166 self.__execution_environment_list = YANGDynClass(base=YANGListType("id",yc_execution_environment_list_etsi_nfv_vnfd__vnfd_df_lcm_operations_configuration_operate_vnf_op_config_day1_2_execution_environment_list, yang_name="execution-environment-list", parent=self, is_container='list', user_ordered=False, path_helper=self._path_helper, yang_keys='id', extensions=None, choice=False), is_container='list', yang_name="execution-environment-list", parent=self, choice=('config-method', 'execution-environment-list'), path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, extensions=None, namespace='urn:etsi:osm:yang:augments:day1-2', defining_module='day1-2', yang_type='list', is_config=True)

21167

21168

21169 def _get_config_primitive(self):

21170 """

21171 Getter method for config_primitive, mapped from YANG variable /vnfd/df/lcm_operations_configuration/operate_vnf_op_config/day1_2/config_primitive (list)

21172

21173 YANG Description: List of config primitives supported by the

21174 configuration agent for this VNF or VDU.

21175 """

21176 return self.__config_primitive

21177

21178 def _set_config_primitive(self, v, load=False):

21179 """

21180 Setter method for config_primitive, mapped from YANG variable /vnfd/df/lcm_operations_configuration/operate_vnf_op_config/day1_2/config_primitive (list)

21181 If this variable is read-only (config: false) in the

21182 source YANG file, then _set_config_primitive is considered as a private

21183 method. Backends looking to populate this variable should

21184 do so via calling thisObj._set_config_primitive() directly.

21185

21186 YANG Description: List of config primitives supported by the

21187 configuration agent for this VNF or VDU.

21188 """

21189 if hasattr(v, "_utype"):

21190 v = v._utype(v)

21191 try:

21192 t = YANGDynClass(v,base=YANGListType("name",yc_config_primitive_etsi_nfv_vnfd__vnfd_df_lcm_operations_configuration_operate_vnf_op_config_day1_2_config_primitive, yang_name="config-primitive", parent=self, is_container='list', user_ordered=False, path_helper=self._path_helper, yang_keys='name', extensions=None), is_container='list', yang_name="config-primitive", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, extensions=None, namespace='urn:etsi:osm:yang:augments:day1-2', defining_module='day1-2', yang_type='list', is_config=True)

21193 except (TypeError, ValueError):

21194 raise ValueError({

21195 'error-string': """config_primitive must be of a type compatible with list""",

21196 'defined-type': "list",

21197 'generated-type': """YANGDynClass(base=YANGListType("name",yc_config_primitive_etsi_nfv_vnfd__vnfd_df_lcm_operations_configuration_operate_vnf_op_config_day1_2_config_primitive, yang_name="config-primitive", parent=self, is_container='list', user_ordered=False, path_helper=self._path_helper, yang_keys='name', extensions=None), is_container='list', yang_name="config-primitive", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, extensions=None, namespace='urn:etsi:osm:yang:augments:day1-2', defining_module='day1-2', yang_type='list', is_config=True)""",

21198 })

21199

21200 self.__config_primitive = t

21201 if hasattr(self, '_set'):

21202 self._set()

21203

21204 def _unset_config_primitive(self):

21205 self.__config_primitive = YANGDynClass(base=YANGListType("name",yc_config_primitive_etsi_nfv_vnfd__vnfd_df_lcm_operations_configuration_operate_vnf_op_config_day1_2_config_primitive, yang_name="config-primitive", parent=self, is_container='list', user_ordered=False, path_helper=self._path_helper, yang_keys='name', extensions=None), is_container='list', yang_name="config-primitive", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, extensions=None, namespace='urn:etsi:osm:yang:augments:day1-2', defining_module='day1-2', yang_type='list', is_config=True)

21206

21207

21208 def _get_initial_config_primitive(self):

21209 """

21210 Getter method for initial_config_primitive, mapped from YANG variable /vnfd/df/lcm_operations_configuration/operate_vnf_op_config/day1_2/initial_config_primitive (list)

21211

21212 YANG Description: Initial set of configuration primitives.

21213 """

21214 return self.__initial_config_primitive

21215

21216 def _set_initial_config_primitive(self, v, load=False):

21217 """

21218 Setter method for initial_config_primitive, mapped from YANG variable /vnfd/df/lcm_operations_configuration/operate_vnf_op_config/day1_2/initial_config_primitive (list)

21219 If this variable is read-only (config: false) in the

21220 source YANG file, then _set_initial_config_primitive is considered as a private

21221 method. Backends looking to populate this variable should

21222 do so via calling thisObj._set_initial_config_primitive() directly.

21223

21224 YANG Description: Initial set of configuration primitives.

21225 """

21226 if hasattr(v, "_utype"):

21227 v = v._utype(v)

21228 try:

21229 t = YANGDynClass(v,base=YANGListType("seq",yc_initial_config_primitive_etsi_nfv_vnfd__vnfd_df_lcm_operations_configuration_operate_vnf_op_config_day1_2_initial_config_primitive, yang_name="initial-config-primitive", parent=self, is_container='list', user_ordered=False, path_helper=self._path_helper, yang_keys='seq', extensions=None), is_container='list', yang_name="initial-config-primitive", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, extensions=None, namespace='urn:etsi:osm:yang:augments:day1-2', defining_module='day1-2', yang_type='list', is_config=True)

21230 except (TypeError, ValueError):

21231 raise ValueError({

21232 'error-string': """initial_config_primitive must be of a type compatible with list""",

21233 'defined-type': "list",

21234 'generated-type': """YANGDynClass(base=YANGListType("seq",yc_initial_config_primitive_etsi_nfv_vnfd__vnfd_df_lcm_operations_configuration_operate_vnf_op_config_day1_2_initial_config_primitive, yang_name="initial-config-primitive", parent=self, is_container='list', user_ordered=False, path_helper=self._path_helper, yang_keys='seq', extensions=None), is_container='list', yang_name="initial-config-primitive", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, extensions=None, namespace='urn:etsi:osm:yang:augments:day1-2', defining_module='day1-2', yang_type='list', is_config=True)""",

21235 })

21236

21237 self.__initial_config_primitive = t

21238 if hasattr(self, '_set'):

21239 self._set()

21240

21241 def _unset_initial_config_primitive(self):

21242 self.__initial_config_primitive = YANGDynClass(base=YANGListType("seq",yc_initial_config_primitive_etsi_nfv_vnfd__vnfd_df_lcm_operations_configuration_operate_vnf_op_config_day1_2_initial_config_primitive, yang_name="initial-config-primitive", parent=self, is_container='list', user_ordered=False, path_helper=self._path_helper, yang_keys='seq', extensions=None), is_container='list', yang_name="initial-config-primitive", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, extensions=None, namespace='urn:etsi:osm:yang:augments:day1-2', defining_module='day1-2', yang_type='list', is_config=True)

21243

21244

21245 def _get_terminate_config_primitive(self):

21246 """

21247 Getter method for terminate_config_primitive, mapped from YANG variable /vnfd/df/lcm_operations_configuration/operate_vnf_op_config/day1_2/terminate_config_primitive (list)

21248

21249 YANG Description: Terminate set of configuration primitives.

21250 """

21251 return self.__terminate_config_primitive

21252

21253 def _set_terminate_config_primitive(self, v, load=False):

21254 """

21255 Setter method for terminate_config_primitive, mapped from YANG variable /vnfd/df/lcm_operations_configuration/operate_vnf_op_config/day1_2/terminate_config_primitive (list)

21256 If this variable is read-only (config: false) in the

21257 source YANG file, then _set_terminate_config_primitive is considered as a private

21258 method. Backends looking to populate this variable should

21259 do so via calling thisObj._set_terminate_config_primitive() directly.

21260

21261 YANG Description: Terminate set of configuration primitives.

21262 """

21263 if hasattr(v, "_utype"):

21264 v = v._utype(v)

21265 try:

21266 t = YANGDynClass(v,base=YANGListType("seq",yc_terminate_config_primitive_etsi_nfv_vnfd__vnfd_df_lcm_operations_configuration_operate_vnf_op_config_day1_2_terminate_config_primitive, yang_name="terminate-config-primitive", parent=self, is_container='list', user_ordered=False, path_helper=self._path_helper, yang_keys='seq', extensions=None), is_container='list', yang_name="terminate-config-primitive", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, extensions=None, namespace='urn:etsi:osm:yang:augments:day1-2', defining_module='day1-2', yang_type='list', is_config=True)

21267 except (TypeError, ValueError):

21268 raise ValueError({

21269 'error-string': """terminate_config_primitive must be of a type compatible with list""",

21270 'defined-type': "list",

21271 'generated-type': """YANGDynClass(base=YANGListType("seq",yc_terminate_config_primitive_etsi_nfv_vnfd__vnfd_df_lcm_operations_configuration_operate_vnf_op_config_day1_2_terminate_config_primitive, yang_name="terminate-config-primitive", parent=self, is_container='list', user_ordered=False, path_helper=self._path_helper, yang_keys='seq', extensions=None), is_container='list', yang_name="terminate-config-primitive", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, extensions=None, namespace='urn:etsi:osm:yang:augments:day1-2', defining_module='day1-2', yang_type='list', is_config=True)""",

21272 })

21273

21274 self.__terminate_config_primitive = t

21275 if hasattr(self, '_set'):

21276 self._set()

21277

21278 def _unset_terminate_config_primitive(self):

21279 self.__terminate_config_primitive = YANGDynClass(base=YANGListType("seq",yc_terminate_config_primitive_etsi_nfv_vnfd__vnfd_df_lcm_operations_configuration_operate_vnf_op_config_day1_2_terminate_config_primitive, yang_name="terminate-config-primitive", parent=self, is_container='list', user_ordered=False, path_helper=self._path_helper, yang_keys='seq', extensions=None), is_container='list', yang_name="terminate-config-primitive", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, extensions=None, namespace='urn:etsi:osm:yang:augments:day1-2', defining_module='day1-2', yang_type='list', is_config=True)

21280

21281

21282 def _get_metrics(self):

21283 """

21284 Getter method for metrics, mapped from YANG variable /vnfd/df/lcm_operations_configuration/operate_vnf_op_config/day1_2/metrics (list)

21285

21286 YANG Description: List of VNFC related metrics

21287 """

21288 return self.__metrics

21289

21290 def _set_metrics(self, v, load=False):

21291 """

21292 Setter method for metrics, mapped from YANG variable /vnfd/df/lcm_operations_configuration/operate_vnf_op_config/day1_2/metrics (list)

21293 If this variable is read-only (config: false) in the

21294 source YANG file, then _set_metrics is considered as a private

21295 method. Backends looking to populate this variable should

21296 do so via calling thisObj._set_metrics() directly.

21297

21298 YANG Description: List of VNFC related metrics

21299 """

21300 if hasattr(v, "_utype"):

21301 v = v._utype(v)

21302 try:

21303 t = YANGDynClass(v,base=YANGListType("name",yc_metrics_etsi_nfv_vnfd__vnfd_df_lcm_operations_configuration_operate_vnf_op_config_day1_2_metrics, yang_name="metrics", parent=self, is_container='list', user_ordered=False, path_helper=self._path_helper, yang_keys='name', extensions=None), is_container='list', yang_name="metrics", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, extensions=None, namespace='urn:etsi:osm:yang:augments:day1-2', defining_module='day1-2', yang_type='list', is_config=True)

21304 except (TypeError, ValueError):

21305 raise ValueError({

21306 'error-string': """metrics must be of a type compatible with list""",

21307 'defined-type': "list",

21308 'generated-type': """YANGDynClass(base=YANGListType("name",yc_metrics_etsi_nfv_vnfd__vnfd_df_lcm_operations_configuration_operate_vnf_op_config_day1_2_metrics, yang_name="metrics", parent=self, is_container='list', user_ordered=False, path_helper=self._path_helper, yang_keys='name', extensions=None), is_container='list', yang_name="metrics", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, extensions=None, namespace='urn:etsi:osm:yang:augments:day1-2', defining_module='day1-2', yang_type='list', is_config=True)""",

21309 })

21310

21311 self.__metrics = t

21312 if hasattr(self, '_set'):

21313 self._set()

21314

21315 def _unset_metrics(self):

21316 self.__metrics = YANGDynClass(base=YANGListType("name",yc_metrics_etsi_nfv_vnfd__vnfd_df_lcm_operations_configuration_operate_vnf_op_config_day1_2_metrics, yang_name="metrics", parent=self, is_container='list', user_ordered=False, path_helper=self._path_helper, yang_keys='name', extensions=None), is_container='list', yang_name="metrics", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, extensions=None, namespace='urn:etsi:osm:yang:augments:day1-2', defining_module='day1-2', yang_type='list', is_config=True)

21317

21318

21319 def _get_relation(self):

21320 """

21321 Getter method for relation, mapped from YANG variable /vnfd/df/lcm_operations_configuration/operate_vnf_op_config/day1_2/relation (list)

21322

21323 YANG Description: List of relations between elements in this descriptor.

21324 The relations are used to integrate pairs of execution environments,

21325 that are in charge of the configuration and lifecycle management

21326 of VDUs, VNFs, KDUs, or NSs.

21327 Each relation is formed by a provider and a requirer.

21328 The provider is the execution environment that provides a particular service.

21329 The requirer is the execution environment that requires the service provided by the provider

21330 """

21331 return self.__relation

21332

21333 def _set_relation(self, v, load=False):

21334 """

21335 Setter method for relation, mapped from YANG variable /vnfd/df/lcm_operations_configuration/operate_vnf_op_config/day1_2/relation (list)

21336 If this variable is read-only (config: false) in the

21337 source YANG file, then _set_relation is considered as a private

21338 method. Backends looking to populate this variable should

21339 do so via calling thisObj._set_relation() directly.

21340

21341 YANG Description: List of relations between elements in this descriptor.

21342 The relations are used to integrate pairs of execution environments,

21343 that are in charge of the configuration and lifecycle management

21344 of VDUs, VNFs, KDUs, or NSs.

21345 Each relation is formed by a provider and a requirer.

21346 The provider is the execution environment that provides a particular service.

21347 The requirer is the execution environment that requires the service provided by the provider

21348 """

21349 if hasattr(v, "_utype"):

21350 v = v._utype(v)

21351 try:

21352 t = YANGDynClass(v,base=YANGListType("name",yc_relation_etsi_nfv_vnfd__vnfd_df_lcm_operations_configuration_operate_vnf_op_config_day1_2_relation, yang_name="relation", parent=self, is_container='list', user_ordered=False, path_helper=self._path_helper, yang_keys='name', extensions=None), is_container='list', yang_name="relation", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, extensions=None, namespace='urn:etsi:osm:yang:augments:day1-2', defining_module='day1-2', yang_type='list', is_config=True)

21353 except (TypeError, ValueError):

21354 raise ValueError({

21355 'error-string': """relation must be of a type compatible with list""",

21356 'defined-type': "list",

21357 'generated-type': """YANGDynClass(base=YANGListType("name",yc_relation_etsi_nfv_vnfd__vnfd_df_lcm_operations_configuration_operate_vnf_op_config_day1_2_relation, yang_name="relation", parent=self, is_container='list', user_ordered=False, path_helper=self._path_helper, yang_keys='name', extensions=None), is_container='list', yang_name="relation", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, extensions=None, namespace='urn:etsi:osm:yang:augments:day1-2', defining_module='day1-2', yang_type='list', is_config=True)""",

21358 })

21359

21360 self.__relation = t

21361 if hasattr(self, '_set'):

21362 self._set()

21363

21364 def _unset_relation(self):

21365 self.__relation = YANGDynClass(base=YANGListType("name",yc_relation_etsi_nfv_vnfd__vnfd_df_lcm_operations_configuration_operate_vnf_op_config_day1_2_relation, yang_name="relation", parent=self, is_container='list', user_ordered=False, path_helper=self._path_helper, yang_keys='name', extensions=None), is_container='list', yang_name="relation", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, extensions=None, namespace='urn:etsi:osm:yang:augments:day1-2', defining_module='day1-2', yang_type='list', is_config=True)

21366

21367

21368 def _get_config_access(self):

21369 """

21370 Getter method for config_access, mapped from YANG variable /vnfd/df/lcm_operations_configuration/operate_vnf_op_config/day1_2/config_access (container)

21371

21372 YANG Description: Indicates the way to access to the xNF or xDU for VCA configuration.

21373 For the moment there is a single way (ssh-access).

21374 """

21375 return self.__config_access

21376

21377 def _set_config_access(self, v, load=False):

21378 """

21379 Setter method for config_access, mapped from YANG variable /vnfd/df/lcm_operations_configuration/operate_vnf_op_config/day1_2/config_access (container)

21380 If this variable is read-only (config: false) in the

21381 source YANG file, then _set_config_access is considered as a private

21382 method. Backends looking to populate this variable should

21383 do so via calling thisObj._set_config_access() directly.

21384

21385 YANG Description: Indicates the way to access to the xNF or xDU for VCA configuration.

21386 For the moment there is a single way (ssh-access).

21387 """

21388 if hasattr(v, "_utype"):

21389 v = v._utype(v)

21390 try:

21391 t = YANGDynClass(v,base=yc_config_access_etsi_nfv_vnfd__vnfd_df_lcm_operations_configuration_operate_vnf_op_config_day1_2_config_access, is_container='container', yang_name="config-access", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, extensions=None, namespace='urn:etsi:osm:yang:augments:day1-2', defining_module='day1-2', yang_type='container', is_config=True)

21392 except (TypeError, ValueError):

21393 raise ValueError({

21394 'error-string': """config_access must be of a type compatible with container""",

21395 'defined-type': "container",

21396 'generated-type': """YANGDynClass(base=yc_config_access_etsi_nfv_vnfd__vnfd_df_lcm_operations_configuration_operate_vnf_op_config_day1_2_config_access, is_container='container', yang_name="config-access", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, extensions=None, namespace='urn:etsi:osm:yang:augments:day1-2', defining_module='day1-2', yang_type='container', is_config=True)""",

21397 })

21398

21399 self.__config_access = t

21400 if hasattr(self, '_set'):

21401 self._set()

21402

21403 def _unset_config_access(self):

21404 self.__config_access = YANGDynClass(base=yc_config_access_etsi_nfv_vnfd__vnfd_df_lcm_operations_configuration_operate_vnf_op_config_day1_2_config_access, is_container='container', yang_name="config-access", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, extensions=None, namespace='urn:etsi:osm:yang:augments:day1-2', defining_module='day1-2', yang_type='container', is_config=True)

21405

21406

21407 def _get_blacklist_config_primitive(self):

21408 """

21409 Getter method for blacklist_config_primitive, mapped from YANG variable /vnfd/df/lcm_operations_configuration/operate_vnf_op_config/day1_2/blacklist_config_primitive (enumeration)

21410

21411 YANG Description: List of blacklisted config primitives from the list of

21412 default kdu config primitives

21413 """

21414 return self.__blacklist_config_primitive

21415

21416 def _set_blacklist_config_primitive(self, v, load=False):

21417 """

21418 Setter method for blacklist_config_primitive, mapped from YANG variable /vnfd/df/lcm_operations_configuration/operate_vnf_op_config/day1_2/blacklist_config_primitive (enumeration)

21419 If this variable is read-only (config: false) in the

21420 source YANG file, then _set_blacklist_config_primitive is considered as a private

21421 method. Backends looking to populate this variable should

21422 do so via calling thisObj._set_blacklist_config_primitive() directly.

21423

21424 YANG Description: List of blacklisted config primitives from the list of

21425 default kdu config primitives

21426 """

21427 if hasattr(v, "_utype"):

21428 v = v._utype(v)

21429 try:

21430 t = YANGDynClass(v,unique=True, base=TypedListType(allowed_type=RestrictedClassType(base_type=str, restriction_type="dict_key", restriction_arg={'upgrade': {}, 'rollback': {}},)), is_leaf=False, yang_name="blacklist-config-primitive", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='urn:etsi:osm:yang:augments:day1-2', defining_module='day1-2', yang_type='enumeration', is_config=True)

21431 except (TypeError, ValueError):

21432 raise ValueError({

21433 'error-string': """blacklist_config_primitive must be of a type compatible with enumeration""",

21434 'defined-type': "day1-2:enumeration",

21435 'generated-type': """YANGDynClass(unique=True, base=TypedListType(allowed_type=RestrictedClassType(base_type=str, restriction_type="dict_key", restriction_arg={'upgrade': {}, 'rollback': {}},)), is_leaf=False, yang_name="blacklist-config-primitive", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='urn:etsi:osm:yang:augments:day1-2', defining_module='day1-2', yang_type='enumeration', is_config=True)""",

21436 })

21437

21438 self.__blacklist_config_primitive = t

21439 if hasattr(self, '_set'):

21440 self._set()

21441

21442 def _unset_blacklist_config_primitive(self):

21443 self.__blacklist_config_primitive = YANGDynClass(unique=True, base=TypedListType(allowed_type=RestrictedClassType(base_type=str, restriction_type="dict_key", restriction_arg={'upgrade': {}, 'rollback': {}},)), is_leaf=False, yang_name="blacklist-config-primitive", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='urn:etsi:osm:yang:augments:day1-2', defining_module='day1-2', yang_type='enumeration', is_config=True)

21444

21445 id = __builtin__.property(_get_id, _set_id)

21446 script = __builtin__.property(_get_script, _set_script)

21447 juju = __builtin__.property(_get_juju, _set_juju)

21448 execution_environment_list = __builtin__.property(_get_execution_environment_list, _set_execution_environment_list)

21449 config_primitive = __builtin__.property(_get_config_primitive, _set_config_primitive)

21450 initial_config_primitive = __builtin__.property(_get_initial_config_primitive, _set_initial_config_primitive)

21451 terminate_config_primitive = __builtin__.property(_get_terminate_config_primitive, _set_terminate_config_primitive)

21452 metrics = __builtin__.property(_get_metrics, _set_metrics)

21453 relation = __builtin__.property(_get_relation, _set_relation)

21454 config_access = __builtin__.property(_get_config_access, _set_config_access)

21455 blacklist_config_primitive = __builtin__.property(_get_blacklist_config_primitive, _set_blacklist_config_primitive)

21456

21457 __choices__ = {'config-method': {'script': ['script'], 'juju': ['juju'], 'execution-environment-list': ['execution_environment_list']}}

21458 _pyangbind_elements = OrderedDict([('id', id), ('script', script), ('juju', juju), ('execution_environment_list', execution_environment_list), ('config_primitive', config_primitive), ('initial_config_primitive', initial_config_primitive), ('terminate_config_primitive', terminate_config_primitive), ('metrics', metrics), ('relation', relation), ('config_access', config_access), ('blacklist_config_primitive', blacklist_config_primitive), ])

21459

21460

21461 class yc_operate_vnf_op_config_etsi_nfv_vnfd__vnfd_df_lcm_operations_configuration_operate_vnf_op_config(PybindBase):

21462 """

21463 This class was auto-generated by the PythonClass plugin for PYANG

21464 from YANG module etsi-nfv-vnfd - based on the path /vnfd/df/lcm-operations-configuration/operate-vnf-op-config. Each member element of

21465 the container is represented as a class variable - with a specific

21466 YANG type.

21467

21468 YANG Description: This information element defines attributes that

21469 affect the invocation of the OperateVnf operation.

21470 """

21471 __slots__ = ('_path_helper', '_extmethods', '__min_graceful_stop_timeout','__max_recommended_graceful_stop_timeout','__parameter','__day1_2',)

21472

21473 _yang_name = 'operate-vnf-op-config'

21474 _yang_namespace = 'urn:etsi:nfv:yang:etsi-nfv-vnfd'

21475

21476 _pybind_generated_by = 'container'

21477

21478 def __init__(self, *args, **kwargs):

21479

21480 self._path_helper = False

21481

21482 self._extmethods = False

21483 self.__min_graceful_stop_timeout = 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)(1), is_leaf=True, yang_name="min-graceful-stop-timeout", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='urn:etsi:nfv:yang:etsi-nfv-vnfd', defining_module='etsi-nfv-vnfd', yang_type='yang:timeticks', is_config=True)

21484 self.__max_recommended_graceful_stop_timeout = YANGDynClass(base=RestrictedClassType(base_type=long, restriction_dict={'range': ['0..4294967295']}, int_size=32), is_leaf=True, yang_name="max-recommended-graceful-stop-timeout", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='urn:etsi:nfv:yang:etsi-nfv-vnfd', defining_module='etsi-nfv-vnfd', yang_type='yang:timeticks', is_config=True)

21485 self.__parameter = YANGDynClass(base=YANGListType("key",yc_parameter_etsi_nfv_vnfd__vnfd_df_lcm_operations_configuration_operate_vnf_op_config_parameter, yang_name="parameter", parent=self, is_container='list', user_ordered=False, path_helper=self._path_helper, yang_keys='key', extensions=None), is_container='list', yang_name="parameter", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, extensions=None, namespace='urn:etsi:nfv:yang:etsi-nfv-vnfd', defining_module='etsi-nfv-vnfd', yang_type='list', is_config=True)

21486 self.__day1_2 = YANGDynClass(base=YANGListType("id",yc_day1_2_etsi_nfv_vnfd__vnfd_df_lcm_operations_configuration_operate_vnf_op_config_day1_2, yang_name="day1-2", parent=self, is_container='list', user_ordered=False, path_helper=self._path_helper, yang_keys='id', extensions=None), is_container='list', yang_name="day1-2", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, extensions=None, namespace='urn:etsi:osm:yang:augments:day1-2', defining_module='day1-2', yang_type='list', is_config=True)

21487

21488 load = kwargs.pop("load", None)

21489 if args:

21490 if len(args) > 1:

21491 raise TypeError("cannot create a YANG container with >1 argument")

21492 all_attr = True

21493 for e in self._pyangbind_elements:

21494 if not hasattr(args[0], e):

21495 all_attr = False

21496 break

21497 if not all_attr:

21498 raise ValueError("Supplied object did not have the correct attributes")

21499 for e in self._pyangbind_elements:

21500 nobj = getattr(args[0], e)

21501 if nobj._changed() is False:

21502 continue

21503 setmethod = getattr(self, "_set_%s" % e)

21504 if load is None:

21505 setmethod(getattr(args[0], e))

21506 else:

21507 setmethod(getattr(args[0], e), load=load)

21508

21509 def _path(self):

21510 if hasattr(self, "_parent"):

21511 return self._parent._path()+[self._yang_name]

21512 else:

21513 return ['vnfd', 'df', 'lcm-operations-configuration', 'operate-vnf-op-config']

21514

21515 def _get_min_graceful_stop_timeout(self):

21516 """

21517 Getter method for min_graceful_stop_timeout, mapped from YANG variable /vnfd/df/lcm_operations_configuration/operate_vnf_op_config/min_graceful_stop_timeout (yang:timeticks)

21518

21519 YANG Description: Minimum timeout value for graceful stop of a VNF

21520 instance.

21521 """

21522 return self.__min_graceful_stop_timeout

21523

21524 def _set_min_graceful_stop_timeout(self, v, load=False):

21525 """

21526 Setter method for min_graceful_stop_timeout, mapped from YANG variable /vnfd/df/lcm_operations_configuration/operate_vnf_op_config/min_graceful_stop_timeout (yang:timeticks)

21527 If this variable is read-only (config: false) in the

21528 source YANG file, then _set_min_graceful_stop_timeout is considered as a private

21529 method. Backends looking to populate this variable should

21530 do so via calling thisObj._set_min_graceful_stop_timeout() directly.

21531

21532 YANG Description: Minimum timeout value for graceful stop of a VNF

21533 instance.

21534 """

21535 if hasattr(v, "_utype"):

21536 v = v._utype(v)

21537 try:

21538 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)(1), is_leaf=True, yang_name="min-graceful-stop-timeout", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='urn:etsi:nfv:yang:etsi-nfv-vnfd', defining_module='etsi-nfv-vnfd', yang_type='yang:timeticks', is_config=True)

21539 except (TypeError, ValueError):

21540 raise ValueError({

21541 'error-string': """min_graceful_stop_timeout must be of a type compatible with yang:timeticks""",

21542 'defined-type': "yang:timeticks",

21543 '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)(1), is_leaf=True, yang_name="min-graceful-stop-timeout", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='urn:etsi:nfv:yang:etsi-nfv-vnfd', defining_module='etsi-nfv-vnfd', yang_type='yang:timeticks', is_config=True)""",

21544 })

21545

21546 self.__min_graceful_stop_timeout = t

21547 if hasattr(self, '_set'):

21548 self._set()

21549

21550 def _unset_min_graceful_stop_timeout(self):

21551 self.__min_graceful_stop_timeout = 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)(1), is_leaf=True, yang_name="min-graceful-stop-timeout", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='urn:etsi:nfv:yang:etsi-nfv-vnfd', defining_module='etsi-nfv-vnfd', yang_type='yang:timeticks', is_config=True)

21552

21553

21554 def _get_max_recommended_graceful_stop_timeout(self):

21555 """

21556 Getter method for max_recommended_graceful_stop_timeout, mapped from YANG variable /vnfd/df/lcm_operations_configuration/operate_vnf_op_config/max_recommended_graceful_stop_timeout (yang:timeticks)

21557

21558 YANG Description: Maximum recommended timeout value that can be

21559 needed to gracefully stop a VNF instance of a

21560 particular type under certain conditions, such as

21561 maximum load condition. This is provided by VNF

21562 provider as information for the operator facilitating

21563 the selection of optimal timeout value. This value

21564 is not used as constraint.

21565 """

21566 return self.__max_recommended_graceful_stop_timeout

21567

21568 def _set_max_recommended_graceful_stop_timeout(self, v, load=False):

21569 """

21570 Setter method for max_recommended_graceful_stop_timeout, mapped from YANG variable /vnfd/df/lcm_operations_configuration/operate_vnf_op_config/max_recommended_graceful_stop_timeout (yang:timeticks)

21571 If this variable is read-only (config: false) in the

21572 source YANG file, then _set_max_recommended_graceful_stop_timeout is considered as a private

21573 method. Backends looking to populate this variable should

21574 do so via calling thisObj._set_max_recommended_graceful_stop_timeout() directly.

21575

21576 YANG Description: Maximum recommended timeout value that can be

21577 needed to gracefully stop a VNF instance of a

21578 particular type under certain conditions, such as

21579 maximum load condition. This is provided by VNF

21580 provider as information for the operator facilitating

21581 the selection of optimal timeout value. This value

21582 is not used as constraint.

21583 """

21584 if hasattr(v, "_utype"):

21585 v = v._utype(v)

21586 try:

21587 t = YANGDynClass(v,base=RestrictedClassType(base_type=long, restriction_dict={'range': ['0..4294967295']}, int_size=32), is_leaf=True, yang_name="max-recommended-graceful-stop-timeout", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='urn:etsi:nfv:yang:etsi-nfv-vnfd', defining_module='etsi-nfv-vnfd', yang_type='yang:timeticks', is_config=True)

21588 except (TypeError, ValueError):

21589 raise ValueError({

21590 'error-string': """max_recommended_graceful_stop_timeout must be of a type compatible with yang:timeticks""",

21591 'defined-type': "yang:timeticks",

21592 'generated-type': """YANGDynClass(base=RestrictedClassType(base_type=long, restriction_dict={'range': ['0..4294967295']}, int_size=32), is_leaf=True, yang_name="max-recommended-graceful-stop-timeout", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='urn:etsi:nfv:yang:etsi-nfv-vnfd', defining_module='etsi-nfv-vnfd', yang_type='yang:timeticks', is_config=True)""",

21593 })

21594

21595 self.__max_recommended_graceful_stop_timeout = t

21596 if hasattr(self, '_set'):

21597 self._set()

21598

21599 def _unset_max_recommended_graceful_stop_timeout(self):

21600 self.__max_recommended_graceful_stop_timeout = YANGDynClass(base=RestrictedClassType(base_type=long, restriction_dict={'range': ['0..4294967295']}, int_size=32), is_leaf=True, yang_name="max-recommended-graceful-stop-timeout", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='urn:etsi:nfv:yang:etsi-nfv-vnfd', defining_module='etsi-nfv-vnfd', yang_type='yang:timeticks', is_config=True)

21601

21602

21603 def _get_parameter(self):

21604 """

21605 Getter method for parameter, mapped from YANG variable /vnfd/df/lcm_operations_configuration/operate_vnf_op_config/parameter (list)

21606

21607 YANG Description: Array of KVP requirements for VNF-specific parameters

21608 to be passed when invoking the OperateVnf

21609 operation.

21610 """

21611 return self.__parameter

21612

21613 def _set_parameter(self, v, load=False):

21614 """

21615 Setter method for parameter, mapped from YANG variable /vnfd/df/lcm_operations_configuration/operate_vnf_op_config/parameter (list)

21616 If this variable is read-only (config: false) in the

21617 source YANG file, then _set_parameter is considered as a private

21618 method. Backends looking to populate this variable should

21619 do so via calling thisObj._set_parameter() directly.

21620

21621 YANG Description: Array of KVP requirements for VNF-specific parameters

21622 to be passed when invoking the OperateVnf

21623 operation.

21624 """

21625 if hasattr(v, "_utype"):

21626 v = v._utype(v)

21627 try:

21628 t = YANGDynClass(v,base=YANGListType("key",yc_parameter_etsi_nfv_vnfd__vnfd_df_lcm_operations_configuration_operate_vnf_op_config_parameter, yang_name="parameter", parent=self, is_container='list', user_ordered=False, path_helper=self._path_helper, yang_keys='key', extensions=None), is_container='list', yang_name="parameter", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, extensions=None, namespace='urn:etsi:nfv:yang:etsi-nfv-vnfd', defining_module='etsi-nfv-vnfd', yang_type='list', is_config=True)

21629 except (TypeError, ValueError):

21630 raise ValueError({

21631 'error-string': """parameter must be of a type compatible with list""",

21632 'defined-type': "list",

21633 'generated-type': """YANGDynClass(base=YANGListType("key",yc_parameter_etsi_nfv_vnfd__vnfd_df_lcm_operations_configuration_operate_vnf_op_config_parameter, yang_name="parameter", parent=self, is_container='list', user_ordered=False, path_helper=self._path_helper, yang_keys='key', extensions=None), is_container='list', yang_name="parameter", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, extensions=None, namespace='urn:etsi:nfv:yang:etsi-nfv-vnfd', defining_module='etsi-nfv-vnfd', yang_type='list', is_config=True)""",

21634 })

21635

21636 self.__parameter = t

21637 if hasattr(self, '_set'):

21638 self._set()

21639

21640 def _unset_parameter(self):

21641 self.__parameter = YANGDynClass(base=YANGListType("key",yc_parameter_etsi_nfv_vnfd__vnfd_df_lcm_operations_configuration_operate_vnf_op_config_parameter, yang_name="parameter", parent=self, is_container='list', user_ordered=False, path_helper=self._path_helper, yang_keys='key', extensions=None), is_container='list', yang_name="parameter", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, extensions=None, namespace='urn:etsi:nfv:yang:etsi-nfv-vnfd', defining_module='etsi-nfv-vnfd', yang_type='list', is_config=True)

21642

21643

21644 def _get_day1_2(self):

21645 """

21646 Getter method for day1_2, mapped from YANG variable /vnfd/df/lcm_operations_configuration/operate_vnf_op_config/day1_2 (list)

21647 """

21648 return self.__day1_2

21649

21650 def _set_day1_2(self, v, load=False):

21651 """

21652 Setter method for day1_2, mapped from YANG variable /vnfd/df/lcm_operations_configuration/operate_vnf_op_config/day1_2 (list)

21653 If this variable is read-only (config: false) in the

21654 source YANG file, then _set_day1_2 is considered as a private

21655 method. Backends looking to populate this variable should

21656 do so via calling thisObj._set_day1_2() directly.

21657 """

21658 if hasattr(v, "_utype"):

21659 v = v._utype(v)

21660 try:

21661 t = YANGDynClass(v,base=YANGListType("id",yc_day1_2_etsi_nfv_vnfd__vnfd_df_lcm_operations_configuration_operate_vnf_op_config_day1_2, yang_name="day1-2", parent=self, is_container='list', user_ordered=False, path_helper=self._path_helper, yang_keys='id', extensions=None), is_container='list', yang_name="day1-2", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, extensions=None, namespace='urn:etsi:osm:yang:augments:day1-2', defining_module='day1-2', yang_type='list', is_config=True)

21662 except (TypeError, ValueError):

21663 raise ValueError({

21664 'error-string': """day1_2 must be of a type compatible with list""",

21665 'defined-type': "list",

21666 'generated-type': """YANGDynClass(base=YANGListType("id",yc_day1_2_etsi_nfv_vnfd__vnfd_df_lcm_operations_configuration_operate_vnf_op_config_day1_2, yang_name="day1-2", parent=self, is_container='list', user_ordered=False, path_helper=self._path_helper, yang_keys='id', extensions=None), is_container='list', yang_name="day1-2", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, extensions=None, namespace='urn:etsi:osm:yang:augments:day1-2', defining_module='day1-2', yang_type='list', is_config=True)""",

21667 })

21668

21669 self.__day1_2 = t

21670 if hasattr(self, '_set'):

21671 self._set()

21672

21673 def _unset_day1_2(self):

21674 self.__day1_2 = YANGDynClass(base=YANGListType("id",yc_day1_2_etsi_nfv_vnfd__vnfd_df_lcm_operations_configuration_operate_vnf_op_config_day1_2, yang_name="day1-2", parent=self, is_container='list', user_ordered=False, path_helper=self._path_helper, yang_keys='id', extensions=None), is_container='list', yang_name="day1-2", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, extensions=None, namespace='urn:etsi:osm:yang:augments:day1-2', defining_module='day1-2', yang_type='list', is_config=True)

21675

21676 min_graceful_stop_timeout = __builtin__.property(_get_min_graceful_stop_timeout, _set_min_graceful_stop_timeout)

21677 max_recommended_graceful_stop_timeout = __builtin__.property(_get_max_recommended_graceful_stop_timeout, _set_max_recommended_graceful_stop_timeout)

21678 parameter = __builtin__.property(_get_parameter, _set_parameter)

21679 day1_2 = __builtin__.property(_get_day1_2, _set_day1_2)

21680

21681

21682 _pyangbind_elements = OrderedDict([('min_graceful_stop_timeout', min_graceful_stop_timeout), ('max_recommended_graceful_stop_timeout', max_recommended_graceful_stop_timeout), ('parameter', parameter), ('day1_2', day1_2), ])

21683

21684

21685 class yc_parameter_etsi_nfv_vnfd__vnfd_df_lcm_operations_configuration_change_vnf_flavour_op_config_parameter(PybindBase):

21686 """

21687 This class was auto-generated by the PythonClass plugin for PYANG

21688 from YANG module etsi-nfv-vnfd - based on the path /vnfd/df/lcm-operations-configuration/change-vnf-flavour-op-config/parameter. Each member element of

21689 the container is represented as a class variable - with a specific

21690 YANG type.

21691

21692 YANG Description: Array of KVP requirements for VNF-specific parameters

21693 to be passed when invoking the OperateVnf

21694 operation.

21695 """

21696 __slots__ = ('_path_helper', '_extmethods', '__key','__value',)

21697

21698 _yang_name = 'parameter'

21699 _yang_namespace = 'urn:etsi:nfv:yang:etsi-nfv-vnfd'

21700

21701 _pybind_generated_by = 'container'

21702

21703 def __init__(self, *args, **kwargs):

21704

21705 self._path_helper = False

21706

21707 self._extmethods = False

21708 self.__key = YANGDynClass(base=str, is_leaf=True, yang_name="key", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, is_keyval=True, namespace='urn:etsi:nfv:yang:etsi-nfv-vnfd', defining_module='etsi-nfv-vnfd', yang_type='string', is_config=True)

21709 self.__value = YANGDynClass(base=str, is_leaf=True, yang_name="value", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='urn:etsi:nfv:yang:etsi-nfv-vnfd', defining_module='etsi-nfv-vnfd', yang_type='string', is_config=True)

21710

21711 load = kwargs.pop("load", None)

21712 if args:

21713 if len(args) > 1:

21714 raise TypeError("cannot create a YANG container with >1 argument")

21715 all_attr = True

21716 for e in self._pyangbind_elements:

21717 if not hasattr(args[0], e):

21718 all_attr = False

21719 break

21720 if not all_attr:

21721 raise ValueError("Supplied object did not have the correct attributes")

21722 for e in self._pyangbind_elements:

21723 nobj = getattr(args[0], e)

21724 if nobj._changed() is False:

21725 continue

21726 setmethod = getattr(self, "_set_%s" % e)

21727 if load is None:

21728 setmethod(getattr(args[0], e))

21729 else:

21730 setmethod(getattr(args[0], e), load=load)

21731

21732 def _path(self):

21733 if hasattr(self, "_parent"):

21734 return self._parent._path()+[self._yang_name]

21735 else:

21736 return ['vnfd', 'df', 'lcm-operations-configuration', 'change-vnf-flavour-op-config', 'parameter']

21737

21738 def _get_key(self):

21739 """

21740 Getter method for key, mapped from YANG variable /vnfd/df/lcm_operations_configuration/change_vnf_flavour_op_config/parameter/key (string)

21741 """

21742 return self.__key

21743

21744 def _set_key(self, v, load=False):

21745 """

21746 Setter method for key, mapped from YANG variable /vnfd/df/lcm_operations_configuration/change_vnf_flavour_op_config/parameter/key (string)

21747 If this variable is read-only (config: false) in the

21748 source YANG file, then _set_key is considered as a private

21749 method. Backends looking to populate this variable should

21750 do so via calling thisObj._set_key() directly.

21751 """

21752 parent = getattr(self, "_parent", None)

21753 if parent is not None and load is False:

21754 raise AttributeError("Cannot set keys directly when" +

21755 " within an instantiated list")

21756

21757 if hasattr(v, "_utype"):

21758 v = v._utype(v)

21759 try:

21760 t = YANGDynClass(v,base=str, is_leaf=True, yang_name="key", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, is_keyval=True, namespace='urn:etsi:nfv:yang:etsi-nfv-vnfd', defining_module='etsi-nfv-vnfd', yang_type='string', is_config=True)

21761 except (TypeError, ValueError):

21762 raise ValueError({

21763 'error-string': """key must be of a type compatible with string""",

21764 'defined-type': "string",

21765 'generated-type': """YANGDynClass(base=str, is_leaf=True, yang_name="key", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, is_keyval=True, namespace='urn:etsi:nfv:yang:etsi-nfv-vnfd', defining_module='etsi-nfv-vnfd', yang_type='string', is_config=True)""",

21766 })

21767

21768 self.__key = t

21769 if hasattr(self, '_set'):

21770 self._set()

21771

21772 def _unset_key(self):

21773 self.__key = YANGDynClass(base=str, is_leaf=True, yang_name="key", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, is_keyval=True, namespace='urn:etsi:nfv:yang:etsi-nfv-vnfd', defining_module='etsi-nfv-vnfd', yang_type='string', is_config=True)

21774

21775

21776 def _get_value(self):

21777 """

21778 Getter method for value, mapped from YANG variable /vnfd/df/lcm_operations_configuration/change_vnf_flavour_op_config/parameter/value (string)

21779 """

21780 return self.__value

21781

21782 def _set_value(self, v, load=False):

21783 """

21784 Setter method for value, mapped from YANG variable /vnfd/df/lcm_operations_configuration/change_vnf_flavour_op_config/parameter/value (string)

21785 If this variable is read-only (config: false) in the

21786 source YANG file, then _set_value is considered as a private

21787 method. Backends looking to populate this variable should

21788 do so via calling thisObj._set_value() directly.

21789 """

21790 if hasattr(v, "_utype"):

21791 v = v._utype(v)

21792 try:

21793 t = YANGDynClass(v,base=str, is_leaf=True, yang_name="value", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='urn:etsi:nfv:yang:etsi-nfv-vnfd', defining_module='etsi-nfv-vnfd', yang_type='string', is_config=True)

21794 except (TypeError, ValueError):

21795 raise ValueError({

21796 'error-string': """value must be of a type compatible with string""",

21797 'defined-type': "string",

21798 'generated-type': """YANGDynClass(base=str, is_leaf=True, yang_name="value", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='urn:etsi:nfv:yang:etsi-nfv-vnfd', defining_module='etsi-nfv-vnfd', yang_type='string', is_config=True)""",

21799 })

21800

21801 self.__value = t

21802 if hasattr(self, '_set'):

21803 self._set()

21804

21805 def _unset_value(self):

21806 self.__value = YANGDynClass(base=str, is_leaf=True, yang_name="value", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='urn:etsi:nfv:yang:etsi-nfv-vnfd', defining_module='etsi-nfv-vnfd', yang_type='string', is_config=True)

21807

21808 key = __builtin__.property(_get_key, _set_key)

21809 value = __builtin__.property(_get_value, _set_value)

21810

21811

21812 _pyangbind_elements = OrderedDict([('key', key), ('value', value), ])

21813

21814

21815 class yc_change_vnf_flavour_op_config_etsi_nfv_vnfd__vnfd_df_lcm_operations_configuration_change_vnf_flavour_op_config(PybindBase):

21816 """

21817 This class was auto-generated by the PythonClass plugin for PYANG

21818 from YANG module etsi-nfv-vnfd - based on the path /vnfd/df/lcm-operations-configuration/change-vnf-flavour-op-config. Each member element of

21819 the container is represented as a class variable - with a specific

21820 YANG type.

21821

21822 YANG Description: Configuration parameters for the ChangeVnfFlavour

21823 operation.

21824 """

21825 __slots__ = ('_path_helper', '_extmethods', '__parameter',)

21826

21827 _yang_name = 'change-vnf-flavour-op-config'

21828 _yang_namespace = 'urn:etsi:nfv:yang:etsi-nfv-vnfd'

21829

21830 _pybind_generated_by = 'container'

21831

21832 def __init__(self, *args, **kwargs):

21833

21834 self._path_helper = False

21835

21836 self._extmethods = False

21837 self.__parameter = YANGDynClass(base=YANGListType("key",yc_parameter_etsi_nfv_vnfd__vnfd_df_lcm_operations_configuration_change_vnf_flavour_op_config_parameter, yang_name="parameter", parent=self, is_container='list', user_ordered=False, path_helper=self._path_helper, yang_keys='key', extensions=None), is_container='list', yang_name="parameter", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, extensions=None, namespace='urn:etsi:nfv:yang:etsi-nfv-vnfd', defining_module='etsi-nfv-vnfd', yang_type='list', is_config=True)

21838

21839 load = kwargs.pop("load", None)

21840 if args:

21841 if len(args) > 1:

21842 raise TypeError("cannot create a YANG container with >1 argument")

21843 all_attr = True

21844 for e in self._pyangbind_elements:

21845 if not hasattr(args[0], e):

21846 all_attr = False

21847 break

21848 if not all_attr:

21849 raise ValueError("Supplied object did not have the correct attributes")

21850 for e in self._pyangbind_elements:

21851 nobj = getattr(args[0], e)

21852 if nobj._changed() is False:

21853 continue

21854 setmethod = getattr(self, "_set_%s" % e)

21855 if load is None:

21856 setmethod(getattr(args[0], e))

21857 else:

21858 setmethod(getattr(args[0], e), load=load)

21859

21860 def _path(self):

21861 if hasattr(self, "_parent"):

21862 return self._parent._path()+[self._yang_name]

21863 else:

21864 return ['vnfd', 'df', 'lcm-operations-configuration', 'change-vnf-flavour-op-config']

21865

21866 def _get_parameter(self):

21867 """

21868 Getter method for parameter, mapped from YANG variable /vnfd/df/lcm_operations_configuration/change_vnf_flavour_op_config/parameter (list)

21869

21870 YANG Description: Array of KVP requirements for VNF-specific parameters

21871 to be passed when invoking the OperateVnf

21872 operation.

21873 """

21874 return self.__parameter

21875

21876 def _set_parameter(self, v, load=False):

21877 """

21878 Setter method for parameter, mapped from YANG variable /vnfd/df/lcm_operations_configuration/change_vnf_flavour_op_config/parameter (list)

21879 If this variable is read-only (config: false) in the

21880 source YANG file, then _set_parameter is considered as a private

21881 method. Backends looking to populate this variable should

21882 do so via calling thisObj._set_parameter() directly.

21883

21884 YANG Description: Array of KVP requirements for VNF-specific parameters

21885 to be passed when invoking the OperateVnf

21886 operation.

21887 """

21888 if hasattr(v, "_utype"):

21889 v = v._utype(v)

21890 try:

21891 t = YANGDynClass(v,base=YANGListType("key",yc_parameter_etsi_nfv_vnfd__vnfd_df_lcm_operations_configuration_change_vnf_flavour_op_config_parameter, yang_name="parameter", parent=self, is_container='list', user_ordered=False, path_helper=self._path_helper, yang_keys='key', extensions=None), is_container='list', yang_name="parameter", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, extensions=None, namespace='urn:etsi:nfv:yang:etsi-nfv-vnfd', defining_module='etsi-nfv-vnfd', yang_type='list', is_config=True)

21892 except (TypeError, ValueError):

21893 raise ValueError({

21894 'error-string': """parameter must be of a type compatible with list""",

21895 'defined-type': "list",

21896 'generated-type': """YANGDynClass(base=YANGListType("key",yc_parameter_etsi_nfv_vnfd__vnfd_df_lcm_operations_configuration_change_vnf_flavour_op_config_parameter, yang_name="parameter", parent=self, is_container='list', user_ordered=False, path_helper=self._path_helper, yang_keys='key', extensions=None), is_container='list', yang_name="parameter", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, extensions=None, namespace='urn:etsi:nfv:yang:etsi-nfv-vnfd', defining_module='etsi-nfv-vnfd', yang_type='list', is_config=True)""",

21897 })

21898

21899 self.__parameter = t

21900 if hasattr(self, '_set'):

21901 self._set()

21902

21903 def _unset_parameter(self):

21904 self.__parameter = YANGDynClass(base=YANGListType("key",yc_parameter_etsi_nfv_vnfd__vnfd_df_lcm_operations_configuration_change_vnf_flavour_op_config_parameter, yang_name="parameter", parent=self, is_container='list', user_ordered=False, path_helper=self._path_helper, yang_keys='key', extensions=None), is_container='list', yang_name="parameter", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, extensions=None, namespace='urn:etsi:nfv:yang:etsi-nfv-vnfd', defining_module='etsi-nfv-vnfd', yang_type='list', is_config=True)

21905

21906 parameter = __builtin__.property(_get_parameter, _set_parameter)

21907

21908

21909 _pyangbind_elements = OrderedDict([('parameter', parameter), ])

21910

21911

21912 class yc_parameter_etsi_nfv_vnfd__vnfd_df_lcm_operations_configuration_change_ext_vnf_connectivity_op_config_parameter(PybindBase):

21913 """

21914 This class was auto-generated by the PythonClass plugin for PYANG

21915 from YANG module etsi-nfv-vnfd - based on the path /vnfd/df/lcm-operations-configuration/change-ext-vnf-connectivity-op-config/parameter. Each member element of

21916 the container is represented as a class variable - with a specific

21917 YANG type.

21918

21919 YANG Description: Array of KVP requirements for VNF-specific parameters

21920 to be passed when invoking the

21921 ChangeExtVnfConnectivity operation.

21922 """

21923 __slots__ = ('_path_helper', '_extmethods', '__key','__value',)

21924

21925 _yang_name = 'parameter'

21926 _yang_namespace = 'urn:etsi:nfv:yang:etsi-nfv-vnfd'

21927

21928 _pybind_generated_by = 'container'

21929

21930 def __init__(self, *args, **kwargs):

21931

21932 self._path_helper = False

21933

21934 self._extmethods = False

21935 self.__key = YANGDynClass(base=str, is_leaf=True, yang_name="key", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, is_keyval=True, namespace='urn:etsi:nfv:yang:etsi-nfv-vnfd', defining_module='etsi-nfv-vnfd', yang_type='string', is_config=True)

21936 self.__value = YANGDynClass(base=str, is_leaf=True, yang_name="value", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='urn:etsi:nfv:yang:etsi-nfv-vnfd', defining_module='etsi-nfv-vnfd', yang_type='string', is_config=True)

21937

21938 load = kwargs.pop("load", None)

21939 if args:

21940 if len(args) > 1:

21941 raise TypeError("cannot create a YANG container with >1 argument")

21942 all_attr = True

21943 for e in self._pyangbind_elements:

21944 if not hasattr(args[0], e):

21945 all_attr = False

21946 break

21947 if not all_attr:

21948 raise ValueError("Supplied object did not have the correct attributes")

21949 for e in self._pyangbind_elements:

21950 nobj = getattr(args[0], e)

21951 if nobj._changed() is False:

21952 continue

21953 setmethod = getattr(self, "_set_%s" % e)

21954 if load is None:

21955 setmethod(getattr(args[0], e))

21956 else:

21957 setmethod(getattr(args[0], e), load=load)

21958

21959 def _path(self):

21960 if hasattr(self, "_parent"):

21961 return self._parent._path()+[self._yang_name]

21962 else:

21963 return ['vnfd', 'df', 'lcm-operations-configuration', 'change-ext-vnf-connectivity-op-config', 'parameter']

21964

21965 def _get_key(self):

21966 """

21967 Getter method for key, mapped from YANG variable /vnfd/df/lcm_operations_configuration/change_ext_vnf_connectivity_op_config/parameter/key (string)

21968 """

21969 return self.__key

21970

21971 def _set_key(self, v, load=False):

21972 """

21973 Setter method for key, mapped from YANG variable /vnfd/df/lcm_operations_configuration/change_ext_vnf_connectivity_op_config/parameter/key (string)

21974 If this variable is read-only (config: false) in the

21975 source YANG file, then _set_key is considered as a private

21976 method. Backends looking to populate this variable should

21977 do so via calling thisObj._set_key() directly.

21978 """

21979 parent = getattr(self, "_parent", None)

21980 if parent is not None and load is False:

21981 raise AttributeError("Cannot set keys directly when" +

21982 " within an instantiated list")

21983

21984 if hasattr(v, "_utype"):

21985 v = v._utype(v)

21986 try:

21987 t = YANGDynClass(v,base=str, is_leaf=True, yang_name="key", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, is_keyval=True, namespace='urn:etsi:nfv:yang:etsi-nfv-vnfd', defining_module='etsi-nfv-vnfd', yang_type='string', is_config=True)

21988 except (TypeError, ValueError):

21989 raise ValueError({

21990 'error-string': """key must be of a type compatible with string""",

21991 'defined-type': "string",

21992 'generated-type': """YANGDynClass(base=str, is_leaf=True, yang_name="key", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, is_keyval=True, namespace='urn:etsi:nfv:yang:etsi-nfv-vnfd', defining_module='etsi-nfv-vnfd', yang_type='string', is_config=True)""",

21993 })

21994

21995 self.__key = t

21996 if hasattr(self, '_set'):

21997 self._set()

21998

21999 def _unset_key(self):

22000 self.__key = YANGDynClass(base=str, is_leaf=True, yang_name="key", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, is_keyval=True, namespace='urn:etsi:nfv:yang:etsi-nfv-vnfd', defining_module='etsi-nfv-vnfd', yang_type='string', is_config=True)

22001

22002

22003 def _get_value(self):

22004 """

22005 Getter method for value, mapped from YANG variable /vnfd/df/lcm_operations_configuration/change_ext_vnf_connectivity_op_config/parameter/value (string)

22006 """

22007 return self.__value

22008

22009 def _set_value(self, v, load=False):

22010 """

22011 Setter method for value, mapped from YANG variable /vnfd/df/lcm_operations_configuration/change_ext_vnf_connectivity_op_config/parameter/value (string)

22012 If this variable is read-only (config: false) in the

22013 source YANG file, then _set_value is considered as a private

22014 method. Backends looking to populate this variable should

22015 do so via calling thisObj._set_value() directly.

22016 """

22017 if hasattr(v, "_utype"):

22018 v = v._utype(v)

22019 try:

22020 t = YANGDynClass(v,base=str, is_leaf=True, yang_name="value", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='urn:etsi:nfv:yang:etsi-nfv-vnfd', defining_module='etsi-nfv-vnfd', yang_type='string', is_config=True)

22021 except (TypeError, ValueError):

22022 raise ValueError({

22023 'error-string': """value must be of a type compatible with string""",

22024 'defined-type': "string",

22025 'generated-type': """YANGDynClass(base=str, is_leaf=True, yang_name="value", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='urn:etsi:nfv:yang:etsi-nfv-vnfd', defining_module='etsi-nfv-vnfd', yang_type='string', is_config=True)""",

22026 })

22027

22028 self.__value = t

22029 if hasattr(self, '_set'):

22030 self._set()

22031

22032 def _unset_value(self):

22033 self.__value = YANGDynClass(base=str, is_leaf=True, yang_name="value", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='urn:etsi:nfv:yang:etsi-nfv-vnfd', defining_module='etsi-nfv-vnfd', yang_type='string', is_config=True)

22034

22035 key = __builtin__.property(_get_key, _set_key)

22036 value = __builtin__.property(_get_value, _set_value)

22037

22038

22039 _pyangbind_elements = OrderedDict([('key', key), ('value', value), ])

22040

22041

22042 class yc_change_ext_vnf_connectivity_op_config_etsi_nfv_vnfd__vnfd_df_lcm_operations_configuration_change_ext_vnf_connectivity_op_config(PybindBase):

22043 """

22044 This class was auto-generated by the PythonClass plugin for PYANG

22045 from YANG module etsi-nfv-vnfd - based on the path /vnfd/df/lcm-operations-configuration/change-ext-vnf-connectivity-op-config. Each member element of

22046 the container is represented as a class variable - with a specific

22047 YANG type.

22048

22049 YANG Description: Configuration parameters for the

22050 ChangeExtVnfConnectivity operation.

22051 """

22052 __slots__ = ('_path_helper', '_extmethods', '__parameter',)

22053

22054 _yang_name = 'change-ext-vnf-connectivity-op-config'

22055 _yang_namespace = 'urn:etsi:nfv:yang:etsi-nfv-vnfd'

22056

22057 _pybind_generated_by = 'container'

22058

22059 def __init__(self, *args, **kwargs):

22060

22061 self._path_helper = False

22062

22063 self._extmethods = False

22064 self.__parameter = YANGDynClass(base=YANGListType("key",yc_parameter_etsi_nfv_vnfd__vnfd_df_lcm_operations_configuration_change_ext_vnf_connectivity_op_config_parameter, yang_name="parameter", parent=self, is_container='list', user_ordered=False, path_helper=self._path_helper, yang_keys='key', extensions=None), is_container='list', yang_name="parameter", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, extensions=None, namespace='urn:etsi:nfv:yang:etsi-nfv-vnfd', defining_module='etsi-nfv-vnfd', yang_type='list', is_config=True)

22065

22066 load = kwargs.pop("load", None)

22067 if args:

22068 if len(args) > 1:

22069 raise TypeError("cannot create a YANG container with >1 argument")

22070 all_attr = True

22071 for e in self._pyangbind_elements:

22072 if not hasattr(args[0], e):

22073 all_attr = False

22074 break

22075 if not all_attr:

22076 raise ValueError("Supplied object did not have the correct attributes")

22077 for e in self._pyangbind_elements:

22078 nobj = getattr(args[0], e)

22079 if nobj._changed() is False:

22080 continue

22081 setmethod = getattr(self, "_set_%s" % e)

22082 if load is None:

22083 setmethod(getattr(args[0], e))

22084 else:

22085 setmethod(getattr(args[0], e), load=load)

22086

22087 def _path(self):

22088 if hasattr(self, "_parent"):

22089 return self._parent._path()+[self._yang_name]

22090 else:

22091 return ['vnfd', 'df', 'lcm-operations-configuration', 'change-ext-vnf-connectivity-op-config']

22092

22093 def _get_parameter(self):

22094 """

22095 Getter method for parameter, mapped from YANG variable /vnfd/df/lcm_operations_configuration/change_ext_vnf_connectivity_op_config/parameter (list)

22096

22097 YANG Description: Array of KVP requirements for VNF-specific parameters

22098 to be passed when invoking the

22099 ChangeExtVnfConnectivity operation.

22100 """

22101 return self.__parameter

22102

22103 def _set_parameter(self, v, load=False):

22104 """

22105 Setter method for parameter, mapped from YANG variable /vnfd/df/lcm_operations_configuration/change_ext_vnf_connectivity_op_config/parameter (list)

22106 If this variable is read-only (config: false) in the

22107 source YANG file, then _set_parameter is considered as a private

22108 method. Backends looking to populate this variable should

22109 do so via calling thisObj._set_parameter() directly.

22110

22111 YANG Description: Array of KVP requirements for VNF-specific parameters

22112 to be passed when invoking the

22113 ChangeExtVnfConnectivity operation.

22114 """

22115 if hasattr(v, "_utype"):

22116 v = v._utype(v)

22117 try:

22118 t = YANGDynClass(v,base=YANGListType("key",yc_parameter_etsi_nfv_vnfd__vnfd_df_lcm_operations_configuration_change_ext_vnf_connectivity_op_config_parameter, yang_name="parameter", parent=self, is_container='list', user_ordered=False, path_helper=self._path_helper, yang_keys='key', extensions=None), is_container='list', yang_name="parameter", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, extensions=None, namespace='urn:etsi:nfv:yang:etsi-nfv-vnfd', defining_module='etsi-nfv-vnfd', yang_type='list', is_config=True)

22119 except (TypeError, ValueError):

22120 raise ValueError({

22121 'error-string': """parameter must be of a type compatible with list""",

22122 'defined-type': "list",

22123 'generated-type': """YANGDynClass(base=YANGListType("key",yc_parameter_etsi_nfv_vnfd__vnfd_df_lcm_operations_configuration_change_ext_vnf_connectivity_op_config_parameter, yang_name="parameter", parent=self, is_container='list', user_ordered=False, path_helper=self._path_helper, yang_keys='key', extensions=None), is_container='list', yang_name="parameter", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, extensions=None, namespace='urn:etsi:nfv:yang:etsi-nfv-vnfd', defining_module='etsi-nfv-vnfd', yang_type='list', is_config=True)""",

22124 })

22125

22126 self.__parameter = t

22127 if hasattr(self, '_set'):

22128 self._set()

22129

22130 def _unset_parameter(self):

22131 self.__parameter = YANGDynClass(base=YANGListType("key",yc_parameter_etsi_nfv_vnfd__vnfd_df_lcm_operations_configuration_change_ext_vnf_connectivity_op_config_parameter, yang_name="parameter", parent=self, is_container='list', user_ordered=False, path_helper=self._path_helper, yang_keys='key', extensions=None), is_container='list', yang_name="parameter", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, extensions=None, namespace='urn:etsi:nfv:yang:etsi-nfv-vnfd', defining_module='etsi-nfv-vnfd', yang_type='list', is_config=True)

22132

22133 parameter = __builtin__.property(_get_parameter, _set_parameter)

22134

22135

22136 _pyangbind_elements = OrderedDict([('parameter', parameter), ])

22137

22138

22139 class yc_lcm_operations_configuration_etsi_nfv_vnfd__vnfd_df_lcm_operations_configuration(PybindBase):

22140 """

22141 This class was auto-generated by the PythonClass plugin for PYANG

22142 from YANG module etsi-nfv-vnfd - based on the path /vnfd/df/lcm-operations-configuration. Each member element of

22143 the container is represented as a class variable - with a specific

22144 YANG type.

22145

22146 YANG Description: This information element is a container for all

22147 attributes that affect the invocation of the VNF

22148 Lifecycle Management operations, structured by

22149 operation.

22150 """

22151 __slots__ = ('_path_helper', '_extmethods', '__instantiate_vnf_op_config','__scale_vnf_op_config','__scale_vnf_to_level_op_config','__heal_vnf_op_config','__terminate_vnf_op_config','__operate_vnf_op_config','__change_vnf_flavour_op_config','__change_ext_vnf_connectivity_op_config',)

22152

22153 _yang_name = 'lcm-operations-configuration'

22154 _yang_namespace = 'urn:etsi:nfv:yang:etsi-nfv-vnfd'

22155

22156 _pybind_generated_by = 'container'

22157

22158 def __init__(self, *args, **kwargs):

22159

22160 self._path_helper = False

22161

22162 self._extmethods = False

22163 self.__instantiate_vnf_op_config = YANGDynClass(base=yc_instantiate_vnf_op_config_etsi_nfv_vnfd__vnfd_df_lcm_operations_configuration_instantiate_vnf_op_config, is_container='container', yang_name="instantiate-vnf-op-config", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, extensions=None, namespace='urn:etsi:nfv:yang:etsi-nfv-vnfd', defining_module='etsi-nfv-vnfd', yang_type='container', is_config=True)

22164 self.__scale_vnf_op_config = YANGDynClass(base=yc_scale_vnf_op_config_etsi_nfv_vnfd__vnfd_df_lcm_operations_configuration_scale_vnf_op_config, is_container='container', yang_name="scale-vnf-op-config", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, extensions=None, namespace='urn:etsi:nfv:yang:etsi-nfv-vnfd', defining_module='etsi-nfv-vnfd', yang_type='container', is_config=True)

22165 self.__scale_vnf_to_level_op_config = YANGDynClass(base=yc_scale_vnf_to_level_op_config_etsi_nfv_vnfd__vnfd_df_lcm_operations_configuration_scale_vnf_to_level_op_config, is_container='container', yang_name="scale-vnf-to-level-op-config", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, extensions=None, namespace='urn:etsi:nfv:yang:etsi-nfv-vnfd', defining_module='etsi-nfv-vnfd', yang_type='container', is_config=True)

22166 self.__heal_vnf_op_config = YANGDynClass(base=yc_heal_vnf_op_config_etsi_nfv_vnfd__vnfd_df_lcm_operations_configuration_heal_vnf_op_config, is_container='container', yang_name="heal-vnf-op-config", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, extensions=None, namespace='urn:etsi:nfv:yang:etsi-nfv-vnfd', defining_module='etsi-nfv-vnfd', yang_type='container', is_config=True)

22167 self.__terminate_vnf_op_config = YANGDynClass(base=yc_terminate_vnf_op_config_etsi_nfv_vnfd__vnfd_df_lcm_operations_configuration_terminate_vnf_op_config, is_container='container', yang_name="terminate-vnf-op-config", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, extensions=None, namespace='urn:etsi:nfv:yang:etsi-nfv-vnfd', defining_module='etsi-nfv-vnfd', yang_type='container', is_config=True)

22168 self.__operate_vnf_op_config = YANGDynClass(base=yc_operate_vnf_op_config_etsi_nfv_vnfd__vnfd_df_lcm_operations_configuration_operate_vnf_op_config, is_container='container', yang_name="operate-vnf-op-config", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, extensions=None, namespace='urn:etsi:nfv:yang:etsi-nfv-vnfd', defining_module='etsi-nfv-vnfd', yang_type='container', is_config=True)

22169 self.__change_vnf_flavour_op_config = YANGDynClass(base=yc_change_vnf_flavour_op_config_etsi_nfv_vnfd__vnfd_df_lcm_operations_configuration_change_vnf_flavour_op_config, is_container='container', yang_name="change-vnf-flavour-op-config", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, extensions=None, namespace='urn:etsi:nfv:yang:etsi-nfv-vnfd', defining_module='etsi-nfv-vnfd', yang_type='container', is_config=True)

22170 self.__change_ext_vnf_connectivity_op_config = YANGDynClass(base=yc_change_ext_vnf_connectivity_op_config_etsi_nfv_vnfd__vnfd_df_lcm_operations_configuration_change_ext_vnf_connectivity_op_config, is_container='container', yang_name="change-ext-vnf-connectivity-op-config", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, extensions=None, namespace='urn:etsi:nfv:yang:etsi-nfv-vnfd', defining_module='etsi-nfv-vnfd', yang_type='container', is_config=True)

22171

22172 load = kwargs.pop("load", None)

22173 if args:

22174 if len(args) > 1:

22175 raise TypeError("cannot create a YANG container with >1 argument")

22176 all_attr = True

22177 for e in self._pyangbind_elements:

22178 if not hasattr(args[0], e):

22179 all_attr = False

22180 break

22181 if not all_attr:

22182 raise ValueError("Supplied object did not have the correct attributes")

22183 for e in self._pyangbind_elements:

22184 nobj = getattr(args[0], e)

22185 if nobj._changed() is False:

22186 continue

22187 setmethod = getattr(self, "_set_%s" % e)

22188 if load is None:

22189 setmethod(getattr(args[0], e))

22190 else:

22191 setmethod(getattr(args[0], e), load=load)

22192

22193 def _path(self):

22194 if hasattr(self, "_parent"):

22195 return self._parent._path()+[self._yang_name]

22196 else:

22197 return ['vnfd', 'df', 'lcm-operations-configuration']

22198

22199 def _get_instantiate_vnf_op_config(self):

22200 """

22201 Getter method for instantiate_vnf_op_config, mapped from YANG variable /vnfd/df/lcm_operations_configuration/instantiate_vnf_op_config (container)

22202

22203 YANG Description: Configuration parameters for the InstantiateVnf

22204 operation.

22205 """

22206 return self.__instantiate_vnf_op_config

22207

22208 def _set_instantiate_vnf_op_config(self, v, load=False):

22209 """

22210 Setter method for instantiate_vnf_op_config, mapped from YANG variable /vnfd/df/lcm_operations_configuration/instantiate_vnf_op_config (container)

22211 If this variable is read-only (config: false) in the

22212 source YANG file, then _set_instantiate_vnf_op_config is considered as a private

22213 method. Backends looking to populate this variable should

22214 do so via calling thisObj._set_instantiate_vnf_op_config() directly.

22215

22216 YANG Description: Configuration parameters for the InstantiateVnf

22217 operation.

22218 """

22219 if hasattr(v, "_utype"):

22220 v = v._utype(v)

22221 try:

22222 t = YANGDynClass(v,base=yc_instantiate_vnf_op_config_etsi_nfv_vnfd__vnfd_df_lcm_operations_configuration_instantiate_vnf_op_config, is_container='container', yang_name="instantiate-vnf-op-config", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, extensions=None, namespace='urn:etsi:nfv:yang:etsi-nfv-vnfd', defining_module='etsi-nfv-vnfd', yang_type='container', is_config=True)

22223 except (TypeError, ValueError):

22224 raise ValueError({

22225 'error-string': """instantiate_vnf_op_config must be of a type compatible with container""",

22226 'defined-type': "container",

22227 'generated-type': """YANGDynClass(base=yc_instantiate_vnf_op_config_etsi_nfv_vnfd__vnfd_df_lcm_operations_configuration_instantiate_vnf_op_config, is_container='container', yang_name="instantiate-vnf-op-config", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, extensions=None, namespace='urn:etsi:nfv:yang:etsi-nfv-vnfd', defining_module='etsi-nfv-vnfd', yang_type='container', is_config=True)""",

22228 })

22229

22230 self.__instantiate_vnf_op_config = t

22231 if hasattr(self, '_set'):

22232 self._set()

22233

22234 def _unset_instantiate_vnf_op_config(self):

22235 self.__instantiate_vnf_op_config = YANGDynClass(base=yc_instantiate_vnf_op_config_etsi_nfv_vnfd__vnfd_df_lcm_operations_configuration_instantiate_vnf_op_config, is_container='container', yang_name="instantiate-vnf-op-config", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, extensions=None, namespace='urn:etsi:nfv:yang:etsi-nfv-vnfd', defining_module='etsi-nfv-vnfd', yang_type='container', is_config=True)

22236

22237

22238 def _get_scale_vnf_op_config(self):

22239 """

22240 Getter method for scale_vnf_op_config, mapped from YANG variable /vnfd/df/lcm_operations_configuration/scale_vnf_op_config (container)

22241

22242 YANG Description: Configuration parameters for the ScaleVnf operation.

22243 """

22244 return self.__scale_vnf_op_config

22245

22246 def _set_scale_vnf_op_config(self, v, load=False):

22247 """

22248 Setter method for scale_vnf_op_config, mapped from YANG variable /vnfd/df/lcm_operations_configuration/scale_vnf_op_config (container)

22249 If this variable is read-only (config: false) in the

22250 source YANG file, then _set_scale_vnf_op_config is considered as a private

22251 method. Backends looking to populate this variable should

22252 do so via calling thisObj._set_scale_vnf_op_config() directly.

22253

22254 YANG Description: Configuration parameters for the ScaleVnf operation.

22255 """

22256 if hasattr(v, "_utype"):

22257 v = v._utype(v)

22258 try:

22259 t = YANGDynClass(v,base=yc_scale_vnf_op_config_etsi_nfv_vnfd__vnfd_df_lcm_operations_configuration_scale_vnf_op_config, is_container='container', yang_name="scale-vnf-op-config", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, extensions=None, namespace='urn:etsi:nfv:yang:etsi-nfv-vnfd', defining_module='etsi-nfv-vnfd', yang_type='container', is_config=True)

22260 except (TypeError, ValueError):

22261 raise ValueError({

22262 'error-string': """scale_vnf_op_config must be of a type compatible with container""",

22263 'defined-type': "container",

22264 'generated-type': """YANGDynClass(base=yc_scale_vnf_op_config_etsi_nfv_vnfd__vnfd_df_lcm_operations_configuration_scale_vnf_op_config, is_container='container', yang_name="scale-vnf-op-config", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, extensions=None, namespace='urn:etsi:nfv:yang:etsi-nfv-vnfd', defining_module='etsi-nfv-vnfd', yang_type='container', is_config=True)""",

22265 })

22266

22267 self.__scale_vnf_op_config = t

22268 if hasattr(self, '_set'):

22269 self._set()

22270

22271 def _unset_scale_vnf_op_config(self):

22272 self.__scale_vnf_op_config = YANGDynClass(base=yc_scale_vnf_op_config_etsi_nfv_vnfd__vnfd_df_lcm_operations_configuration_scale_vnf_op_config, is_container='container', yang_name="scale-vnf-op-config", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, extensions=None, namespace='urn:etsi:nfv:yang:etsi-nfv-vnfd', defining_module='etsi-nfv-vnfd', yang_type='container', is_config=True)

22273

22274

22275 def _get_scale_vnf_to_level_op_config(self):

22276 """

22277 Getter method for scale_vnf_to_level_op_config, mapped from YANG variable /vnfd/df/lcm_operations_configuration/scale_vnf_to_level_op_config (container)

22278

22279 YANG Description: This information element defines attributes that

22280 affect the invocation of the ScaleVnfToLevel

22281 operation.

22282 """

22283 return self.__scale_vnf_to_level_op_config

22284

22285 def _set_scale_vnf_to_level_op_config(self, v, load=False):

22286 """

22287 Setter method for scale_vnf_to_level_op_config, mapped from YANG variable /vnfd/df/lcm_operations_configuration/scale_vnf_to_level_op_config (container)

22288 If this variable is read-only (config: false) in the

22289 source YANG file, then _set_scale_vnf_to_level_op_config is considered as a private

22290 method. Backends looking to populate this variable should

22291 do so via calling thisObj._set_scale_vnf_to_level_op_config() directly.

22292

22293 YANG Description: This information element defines attributes that

22294 affect the invocation of the ScaleVnfToLevel

22295 operation.

22296 """

22297 if hasattr(v, "_utype"):

22298 v = v._utype(v)

22299 try:

22300 t = YANGDynClass(v,base=yc_scale_vnf_to_level_op_config_etsi_nfv_vnfd__vnfd_df_lcm_operations_configuration_scale_vnf_to_level_op_config, is_container='container', yang_name="scale-vnf-to-level-op-config", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, extensions=None, namespace='urn:etsi:nfv:yang:etsi-nfv-vnfd', defining_module='etsi-nfv-vnfd', yang_type='container', is_config=True)

22301 except (TypeError, ValueError):

22302 raise ValueError({

22303 'error-string': """scale_vnf_to_level_op_config must be of a type compatible with container""",

22304 'defined-type': "container",

22305 'generated-type': """YANGDynClass(base=yc_scale_vnf_to_level_op_config_etsi_nfv_vnfd__vnfd_df_lcm_operations_configuration_scale_vnf_to_level_op_config, is_container='container', yang_name="scale-vnf-to-level-op-config", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, extensions=None, namespace='urn:etsi:nfv:yang:etsi-nfv-vnfd', defining_module='etsi-nfv-vnfd', yang_type='container', is_config=True)""",

22306 })

22307

22308 self.__scale_vnf_to_level_op_config = t

22309 if hasattr(self, '_set'):

22310 self._set()

22311

22312 def _unset_scale_vnf_to_level_op_config(self):

22313 self.__scale_vnf_to_level_op_config = YANGDynClass(base=yc_scale_vnf_to_level_op_config_etsi_nfv_vnfd__vnfd_df_lcm_operations_configuration_scale_vnf_to_level_op_config, is_container='container', yang_name="scale-vnf-to-level-op-config", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, extensions=None, namespace='urn:etsi:nfv:yang:etsi-nfv-vnfd', defining_module='etsi-nfv-vnfd', yang_type='container', is_config=True)

22314

22315

22316 def _get_heal_vnf_op_config(self):

22317 """

22318 Getter method for heal_vnf_op_config, mapped from YANG variable /vnfd/df/lcm_operations_configuration/heal_vnf_op_config (container)

22319

22320 YANG Description: This information element defines attributes that

22321 affect the invocation of the HealVnf operation.

22322 """

22323 return self.__heal_vnf_op_config

22324

22325 def _set_heal_vnf_op_config(self, v, load=False):

22326 """

22327 Setter method for heal_vnf_op_config, mapped from YANG variable /vnfd/df/lcm_operations_configuration/heal_vnf_op_config (container)

22328 If this variable is read-only (config: false) in the

22329 source YANG file, then _set_heal_vnf_op_config is considered as a private

22330 method. Backends looking to populate this variable should

22331 do so via calling thisObj._set_heal_vnf_op_config() directly.

22332

22333 YANG Description: This information element defines attributes that

22334 affect the invocation of the HealVnf operation.

22335 """

22336 if hasattr(v, "_utype"):

22337 v = v._utype(v)

22338 try:

22339 t = YANGDynClass(v,base=yc_heal_vnf_op_config_etsi_nfv_vnfd__vnfd_df_lcm_operations_configuration_heal_vnf_op_config, is_container='container', yang_name="heal-vnf-op-config", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, extensions=None, namespace='urn:etsi:nfv:yang:etsi-nfv-vnfd', defining_module='etsi-nfv-vnfd', yang_type='container', is_config=True)

22340 except (TypeError, ValueError):

22341 raise ValueError({

22342 'error-string': """heal_vnf_op_config must be of a type compatible with container""",

22343 'defined-type': "container",

22344 'generated-type': """YANGDynClass(base=yc_heal_vnf_op_config_etsi_nfv_vnfd__vnfd_df_lcm_operations_configuration_heal_vnf_op_config, is_container='container', yang_name="heal-vnf-op-config", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, extensions=None, namespace='urn:etsi:nfv:yang:etsi-nfv-vnfd', defining_module='etsi-nfv-vnfd', yang_type='container', is_config=True)""",

22345 })

22346

22347 self.__heal_vnf_op_config = t

22348 if hasattr(self, '_set'):

22349 self._set()

22350

22351 def _unset_heal_vnf_op_config(self):

22352 self.__heal_vnf_op_config = YANGDynClass(base=yc_heal_vnf_op_config_etsi_nfv_vnfd__vnfd_df_lcm_operations_configuration_heal_vnf_op_config, is_container='container', yang_name="heal-vnf-op-config", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, extensions=None, namespace='urn:etsi:nfv:yang:etsi-nfv-vnfd', defining_module='etsi-nfv-vnfd', yang_type='container', is_config=True)

22353

22354

22355 def _get_terminate_vnf_op_config(self):

22356 """

22357 Getter method for terminate_vnf_op_config, mapped from YANG variable /vnfd/df/lcm_operations_configuration/terminate_vnf_op_config (container)

22358

22359 YANG Description: This information element defines attributes that

22360 affect the invocation of the TerminateVnf operation.

22361 """

22362 return self.__terminate_vnf_op_config

22363

22364 def _set_terminate_vnf_op_config(self, v, load=False):

22365 """

22366 Setter method for terminate_vnf_op_config, mapped from YANG variable /vnfd/df/lcm_operations_configuration/terminate_vnf_op_config (container)

22367 If this variable is read-only (config: false) in the

22368 source YANG file, then _set_terminate_vnf_op_config is considered as a private

22369 method. Backends looking to populate this variable should

22370 do so via calling thisObj._set_terminate_vnf_op_config() directly.

22371

22372 YANG Description: This information element defines attributes that

22373 affect the invocation of the TerminateVnf operation.

22374 """

22375 if hasattr(v, "_utype"):

22376 v = v._utype(v)

22377 try:

22378 t = YANGDynClass(v,base=yc_terminate_vnf_op_config_etsi_nfv_vnfd__vnfd_df_lcm_operations_configuration_terminate_vnf_op_config, is_container='container', yang_name="terminate-vnf-op-config", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, extensions=None, namespace='urn:etsi:nfv:yang:etsi-nfv-vnfd', defining_module='etsi-nfv-vnfd', yang_type='container', is_config=True)

22379 except (TypeError, ValueError):

22380 raise ValueError({

22381 'error-string': """terminate_vnf_op_config must be of a type compatible with container""",

22382 'defined-type': "container",

22383 'generated-type': """YANGDynClass(base=yc_terminate_vnf_op_config_etsi_nfv_vnfd__vnfd_df_lcm_operations_configuration_terminate_vnf_op_config, is_container='container', yang_name="terminate-vnf-op-config", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, extensions=None, namespace='urn:etsi:nfv:yang:etsi-nfv-vnfd', defining_module='etsi-nfv-vnfd', yang_type='container', is_config=True)""",

22384 })

22385

22386 self.__terminate_vnf_op_config = t

22387 if hasattr(self, '_set'):

22388 self._set()

22389

22390 def _unset_terminate_vnf_op_config(self):

22391 self.__terminate_vnf_op_config = YANGDynClass(base=yc_terminate_vnf_op_config_etsi_nfv_vnfd__vnfd_df_lcm_operations_configuration_terminate_vnf_op_config, is_container='container', yang_name="terminate-vnf-op-config", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, extensions=None, namespace='urn:etsi:nfv:yang:etsi-nfv-vnfd', defining_module='etsi-nfv-vnfd', yang_type='container', is_config=True)

22392

22393

22394 def _get_operate_vnf_op_config(self):

22395 """

22396 Getter method for operate_vnf_op_config, mapped from YANG variable /vnfd/df/lcm_operations_configuration/operate_vnf_op_config (container)

22397

22398 YANG Description: This information element defines attributes that

22399 affect the invocation of the OperateVnf operation.

22400 """

22401 return self.__operate_vnf_op_config

22402

22403 def _set_operate_vnf_op_config(self, v, load=False):

22404 """

22405 Setter method for operate_vnf_op_config, mapped from YANG variable /vnfd/df/lcm_operations_configuration/operate_vnf_op_config (container)

22406 If this variable is read-only (config: false) in the

22407 source YANG file, then _set_operate_vnf_op_config is considered as a private

22408 method. Backends looking to populate this variable should

22409 do so via calling thisObj._set_operate_vnf_op_config() directly.

22410

22411 YANG Description: This information element defines attributes that

22412 affect the invocation of the OperateVnf operation.

22413 """

22414 if hasattr(v, "_utype"):

22415 v = v._utype(v)

22416 try:

22417 t = YANGDynClass(v,base=yc_operate_vnf_op_config_etsi_nfv_vnfd__vnfd_df_lcm_operations_configuration_operate_vnf_op_config, is_container='container', yang_name="operate-vnf-op-config", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, extensions=None, namespace='urn:etsi:nfv:yang:etsi-nfv-vnfd', defining_module='etsi-nfv-vnfd', yang_type='container', is_config=True)

22418 except (TypeError, ValueError):

22419 raise ValueError({

22420 'error-string': """operate_vnf_op_config must be of a type compatible with container""",

22421 'defined-type': "container",

22422 'generated-type': """YANGDynClass(base=yc_operate_vnf_op_config_etsi_nfv_vnfd__vnfd_df_lcm_operations_configuration_operate_vnf_op_config, is_container='container', yang_name="operate-vnf-op-config", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, extensions=None, namespace='urn:etsi:nfv:yang:etsi-nfv-vnfd', defining_module='etsi-nfv-vnfd', yang_type='container', is_config=True)""",

22423 })

22424

22425 self.__operate_vnf_op_config = t

22426 if hasattr(self, '_set'):

22427 self._set()

22428

22429 def _unset_operate_vnf_op_config(self):

22430 self.__operate_vnf_op_config = YANGDynClass(base=yc_operate_vnf_op_config_etsi_nfv_vnfd__vnfd_df_lcm_operations_configuration_operate_vnf_op_config, is_container='container', yang_name="operate-vnf-op-config", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, extensions=None, namespace='urn:etsi:nfv:yang:etsi-nfv-vnfd', defining_module='etsi-nfv-vnfd', yang_type='container', is_config=True)

22431

22432

22433 def _get_change_vnf_flavour_op_config(self):

22434 """

22435 Getter method for change_vnf_flavour_op_config, mapped from YANG variable /vnfd/df/lcm_operations_configuration/change_vnf_flavour_op_config (container)

22436

22437 YANG Description: Configuration parameters for the ChangeVnfFlavour

22438 operation.

22439 """

22440 return self.__change_vnf_flavour_op_config

22441

22442 def _set_change_vnf_flavour_op_config(self, v, load=False):

22443 """

22444 Setter method for change_vnf_flavour_op_config, mapped from YANG variable /vnfd/df/lcm_operations_configuration/change_vnf_flavour_op_config (container)

22445 If this variable is read-only (config: false) in the

22446 source YANG file, then _set_change_vnf_flavour_op_config is considered as a private

22447 method. Backends looking to populate this variable should

22448 do so via calling thisObj._set_change_vnf_flavour_op_config() directly.

22449

22450 YANG Description: Configuration parameters for the ChangeVnfFlavour

22451 operation.

22452 """

22453 if hasattr(v, "_utype"):

22454 v = v._utype(v)

22455 try:

22456 t = YANGDynClass(v,base=yc_change_vnf_flavour_op_config_etsi_nfv_vnfd__vnfd_df_lcm_operations_configuration_change_vnf_flavour_op_config, is_container='container', yang_name="change-vnf-flavour-op-config", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, extensions=None, namespace='urn:etsi:nfv:yang:etsi-nfv-vnfd', defining_module='etsi-nfv-vnfd', yang_type='container', is_config=True)

22457 except (TypeError, ValueError):

22458 raise ValueError({

22459 'error-string': """change_vnf_flavour_op_config must be of a type compatible with container""",

22460 'defined-type': "container",

22461 'generated-type': """YANGDynClass(base=yc_change_vnf_flavour_op_config_etsi_nfv_vnfd__vnfd_df_lcm_operations_configuration_change_vnf_flavour_op_config, is_container='container', yang_name="change-vnf-flavour-op-config", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, extensions=None, namespace='urn:etsi:nfv:yang:etsi-nfv-vnfd', defining_module='etsi-nfv-vnfd', yang_type='container', is_config=True)""",

22462 })

22463

22464 self.__change_vnf_flavour_op_config = t

22465 if hasattr(self, '_set'):

22466 self._set()

22467

22468 def _unset_change_vnf_flavour_op_config(self):

22469 self.__change_vnf_flavour_op_config = YANGDynClass(base=yc_change_vnf_flavour_op_config_etsi_nfv_vnfd__vnfd_df_lcm_operations_configuration_change_vnf_flavour_op_config, is_container='container', yang_name="change-vnf-flavour-op-config", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, extensions=None, namespace='urn:etsi:nfv:yang:etsi-nfv-vnfd', defining_module='etsi-nfv-vnfd', yang_type='container', is_config=True)

22470

22471

22472 def _get_change_ext_vnf_connectivity_op_config(self):

22473 """

22474 Getter method for change_ext_vnf_connectivity_op_config, mapped from YANG variable /vnfd/df/lcm_operations_configuration/change_ext_vnf_connectivity_op_config (container)

22475

22476 YANG Description: Configuration parameters for the

22477 ChangeExtVnfConnectivity operation.

22478 """

22479 return self.__change_ext_vnf_connectivity_op_config

22480

22481 def _set_change_ext_vnf_connectivity_op_config(self, v, load=False):

22482 """

22483 Setter method for change_ext_vnf_connectivity_op_config, mapped from YANG variable /vnfd/df/lcm_operations_configuration/change_ext_vnf_connectivity_op_config (container)

22484 If this variable is read-only (config: false) in the

22485 source YANG file, then _set_change_ext_vnf_connectivity_op_config is considered as a private

22486 method. Backends looking to populate this variable should

22487 do so via calling thisObj._set_change_ext_vnf_connectivity_op_config() directly.

22488

22489 YANG Description: Configuration parameters for the

22490 ChangeExtVnfConnectivity operation.

22491 """

22492 if hasattr(v, "_utype"):

22493 v = v._utype(v)

22494 try:

22495 t = YANGDynClass(v,base=yc_change_ext_vnf_connectivity_op_config_etsi_nfv_vnfd__vnfd_df_lcm_operations_configuration_change_ext_vnf_connectivity_op_config, is_container='container', yang_name="change-ext-vnf-connectivity-op-config", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, extensions=None, namespace='urn:etsi:nfv:yang:etsi-nfv-vnfd', defining_module='etsi-nfv-vnfd', yang_type='container', is_config=True)

22496 except (TypeError, ValueError):

22497 raise ValueError({

22498 'error-string': """change_ext_vnf_connectivity_op_config must be of a type compatible with container""",

22499 'defined-type': "container",

22500 'generated-type': """YANGDynClass(base=yc_change_ext_vnf_connectivity_op_config_etsi_nfv_vnfd__vnfd_df_lcm_operations_configuration_change_ext_vnf_connectivity_op_config, is_container='container', yang_name="change-ext-vnf-connectivity-op-config", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, extensions=None, namespace='urn:etsi:nfv:yang:etsi-nfv-vnfd', defining_module='etsi-nfv-vnfd', yang_type='container', is_config=True)""",

22501 })

22502

22503 self.__change_ext_vnf_connectivity_op_config = t

22504 if hasattr(self, '_set'):

22505 self._set()

22506

22507 def _unset_change_ext_vnf_connectivity_op_config(self):

22508 self.__change_ext_vnf_connectivity_op_config = YANGDynClass(base=yc_change_ext_vnf_connectivity_op_config_etsi_nfv_vnfd__vnfd_df_lcm_operations_configuration_change_ext_vnf_connectivity_op_config, is_container='container', yang_name="change-ext-vnf-connectivity-op-config", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, extensions=None, namespace='urn:etsi:nfv:yang:etsi-nfv-vnfd', defining_module='etsi-nfv-vnfd', yang_type='container', is_config=True)

22509

22510 instantiate_vnf_op_config = __builtin__.property(_get_instantiate_vnf_op_config, _set_instantiate_vnf_op_config)

22511 scale_vnf_op_config = __builtin__.property(_get_scale_vnf_op_config, _set_scale_vnf_op_config)

22512 scale_vnf_to_level_op_config = __builtin__.property(_get_scale_vnf_to_level_op_config, _set_scale_vnf_to_level_op_config)

22513 heal_vnf_op_config = __builtin__.property(_get_heal_vnf_op_config, _set_heal_vnf_op_config)

22514 terminate_vnf_op_config = __builtin__.property(_get_terminate_vnf_op_config, _set_terminate_vnf_op_config)

22515 operate_vnf_op_config = __builtin__.property(_get_operate_vnf_op_config, _set_operate_vnf_op_config)

22516 change_vnf_flavour_op_config = __builtin__.property(_get_change_vnf_flavour_op_config, _set_change_vnf_flavour_op_config)

22517 change_ext_vnf_connectivity_op_config = __builtin__.property(_get_change_ext_vnf_connectivity_op_config, _set_change_ext_vnf_connectivity_op_config)

22518

22519

22520 _pyangbind_elements = OrderedDict([('instantiate_vnf_op_config', instantiate_vnf_op_config), ('scale_vnf_op_config', scale_vnf_op_config), ('scale_vnf_to_level_op_config', scale_vnf_to_level_op_config), ('heal_vnf_op_config', heal_vnf_op_config), ('terminate_vnf_op_config', terminate_vnf_op_config), ('operate_vnf_op_config', operate_vnf_op_config), ('change_vnf_flavour_op_config', change_vnf_flavour_op_config), ('change_ext_vnf_connectivity_op_config', change_ext_vnf_connectivity_op_config), ])

22521

22522

22523 class yc_affinity_or_anti_affinity_group_etsi_nfv_vnfd__vnfd_df_affinity_or_anti_affinity_group(PybindBase):

22524 """

22525 This class was auto-generated by the PythonClass plugin for PYANG

22526 from YANG module etsi-nfv-vnfd - based on the path /vnfd/df/affinity-or-anti-affinity-group. Each member element of

22527 the container is represented as a class variable - with a specific

22528 YANG type.

22529

22530 YANG Description: The AffinityOrAntiAffinityGroup describes the affinity

22531 or anti-affinity relationship applicable between the

22532 virtualization containers to be created based on

22533 different VDUs, or between internal VLs to be created

22534 based on different VnfVirtualLinkDesc(s).

22535

22536 Per VNF, the affinity/anti-affinity rules defined using

22537 this information element, using the

22538 LocalAffinityOrAntiAffinityRule information element, and

22539 using the placement constraints in the

22540 GrantLifecycleOperation as defined in ETSI GS NFV-IFA

22541 007 [i.3] should be conflict-free. In case of conflicts,

22542 the placement constraints in the

22543 GrantLifecycleOperation shall take precedence.

22544 """

22545 __slots__ = ('_path_helper', '_extmethods', '__id','__type','__scope',)

22546

22547 _yang_name = 'affinity-or-anti-affinity-group'

22548 _yang_namespace = 'urn:etsi:nfv:yang:etsi-nfv-vnfd'

22549

22550 _pybind_generated_by = 'container'

22551

22552 def __init__(self, *args, **kwargs):

22553

22554 self._path_helper = False

22555

22556 self._extmethods = False

22557 self.__id = YANGDynClass(base=str, is_leaf=True, yang_name="id", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, is_keyval=True, namespace='urn:etsi:nfv:yang:etsi-nfv-vnfd', defining_module='etsi-nfv-vnfd', yang_type='string', is_config=True)

22558 self.__type = YANGDynClass(base=RestrictedClassType(base_type=str, restriction_type="dict_key", restriction_arg={'affinity': {}, 'anti-affinity': {}},), is_leaf=True, yang_name="type", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='urn:etsi:nfv:yang:etsi-nfv-vnfd', defining_module='etsi-nfv-vnfd', yang_type='affinity-type', is_config=True)

22559 self.__scope = YANGDynClass(base=RestrictedClassType(base_type=str, restriction_type="dict_key", restriction_arg={'nfvi-node': {}, 'zone-group': {}, 'zone': {}, 'nfvi-pop': {}},), is_leaf=True, yang_name="scope", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='urn:etsi:nfv:yang:etsi-nfv-vnfd', defining_module='etsi-nfv-vnfd', yang_type='affinity-scope', is_config=True)

22560

22561 load = kwargs.pop("load", None)

22562 if args:

22563 if len(args) > 1:

22564 raise TypeError("cannot create a YANG container with >1 argument")

22565 all_attr = True

22566 for e in self._pyangbind_elements:

22567 if not hasattr(args[0], e):

22568 all_attr = False

22569 break

22570 if not all_attr:

22571 raise ValueError("Supplied object did not have the correct attributes")

22572 for e in self._pyangbind_elements:

22573 nobj = getattr(args[0], e)

22574 if nobj._changed() is False:

22575 continue

22576 setmethod = getattr(self, "_set_%s" % e)

22577 if load is None:

22578 setmethod(getattr(args[0], e))

22579 else:

22580 setmethod(getattr(args[0], e), load=load)

22581

22582 def _path(self):

22583 if hasattr(self, "_parent"):

22584 return self._parent._path()+[self._yang_name]

22585 else:

22586 return ['vnfd', 'df', 'affinity-or-anti-affinity-group']

22587

22588 def _get_id(self):

22589 """

22590 Getter method for id, mapped from YANG variable /vnfd/df/affinity_or_anti_affinity_group/id (string)

22591

22592 YANG Description: Identifies an affinity or anti-affinity group to which

22593 the affinity or anti-affinity rule applies.

22594 """

22595 return self.__id

22596

22597 def _set_id(self, v, load=False):

22598 """

22599 Setter method for id, mapped from YANG variable /vnfd/df/affinity_or_anti_affinity_group/id (string)

22600 If this variable is read-only (config: false) in the

22601 source YANG file, then _set_id is considered as a private

22602 method. Backends looking to populate this variable should

22603 do so via calling thisObj._set_id() directly.

22604

22605 YANG Description: Identifies an affinity or anti-affinity group to which

22606 the affinity or anti-affinity rule applies.

22607 """

22608 parent = getattr(self, "_parent", None)

22609 if parent is not None and load is False:

22610 raise AttributeError("Cannot set keys directly when" +

22611 " within an instantiated list")

22612

22613 if hasattr(v, "_utype"):

22614 v = v._utype(v)

22615 try:

22616 t = YANGDynClass(v,base=str, is_leaf=True, yang_name="id", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, is_keyval=True, namespace='urn:etsi:nfv:yang:etsi-nfv-vnfd', defining_module='etsi-nfv-vnfd', yang_type='string', is_config=True)

22617 except (TypeError, ValueError):

22618 raise ValueError({

22619 'error-string': """id must be of a type compatible with string""",

22620 'defined-type': "string",

22621 'generated-type': """YANGDynClass(base=str, is_leaf=True, yang_name="id", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, is_keyval=True, namespace='urn:etsi:nfv:yang:etsi-nfv-vnfd', defining_module='etsi-nfv-vnfd', yang_type='string', is_config=True)""",

22622 })

22623

22624 self.__id = t

22625 if hasattr(self, '_set'):

22626 self._set()

22627

22628 def _unset_id(self):

22629 self.__id = YANGDynClass(base=str, is_leaf=True, yang_name="id", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, is_keyval=True, namespace='urn:etsi:nfv:yang:etsi-nfv-vnfd', defining_module='etsi-nfv-vnfd', yang_type='string', is_config=True)

22630

22631

22632 def _get_type(self):

22633 """

22634 Getter method for type, mapped from YANG variable /vnfd/df/affinity_or_anti_affinity_group/type (affinity-type)

22635

22636 YANG Description: Specifies whether the rule is an affinity rule or an

22637 anti-affinity rule.

22638 """

22639 return self.__type

22640

22641 def _set_type(self, v, load=False):

22642 """

22643 Setter method for type, mapped from YANG variable /vnfd/df/affinity_or_anti_affinity_group/type (affinity-type)

22644 If this variable is read-only (config: false) in the

22645 source YANG file, then _set_type is considered as a private

22646 method. Backends looking to populate this variable should

22647 do so via calling thisObj._set_type() directly.

22648

22649 YANG Description: Specifies whether the rule is an affinity rule or an

22650 anti-affinity rule.

22651 """

22652 if hasattr(v, "_utype"):

22653 v = v._utype(v)

22654 try:

22655 t = YANGDynClass(v,base=RestrictedClassType(base_type=str, restriction_type="dict_key", restriction_arg={'affinity': {}, 'anti-affinity': {}},), is_leaf=True, yang_name="type", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='urn:etsi:nfv:yang:etsi-nfv-vnfd', defining_module='etsi-nfv-vnfd', yang_type='affinity-type', is_config=True)

22656 except (TypeError, ValueError):

22657 raise ValueError({

22658 'error-string': """type must be of a type compatible with affinity-type""",

22659 'defined-type': "etsi-nfv-vnfd:affinity-type",

22660 'generated-type': """YANGDynClass(base=RestrictedClassType(base_type=str, restriction_type="dict_key", restriction_arg={'affinity': {}, 'anti-affinity': {}},), is_leaf=True, yang_name="type", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='urn:etsi:nfv:yang:etsi-nfv-vnfd', defining_module='etsi-nfv-vnfd', yang_type='affinity-type', is_config=True)""",

22661 })

22662

22663 self.__type = t

22664 if hasattr(self, '_set'):

22665 self._set()

22666

22667 def _unset_type(self):

22668 self.__type = YANGDynClass(base=RestrictedClassType(base_type=str, restriction_type="dict_key", restriction_arg={'affinity': {}, 'anti-affinity': {}},), is_leaf=True, yang_name="type", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='urn:etsi:nfv:yang:etsi-nfv-vnfd', defining_module='etsi-nfv-vnfd', yang_type='affinity-type', is_config=True)

22669

22670

22671 def _get_scope(self):

22672 """

22673 Getter method for scope, mapped from YANG variable /vnfd/df/affinity_or_anti_affinity_group/scope (affinity-scope)

22674

22675 YANG Description: Specifies the scope of the rule, possible values are

22676'NFVI-PoP', 'Zone', 'ZoneGroup', 'NFVI-node'.

22677 """

22678 return self.__scope

22679

22680 def _set_scope(self, v, load=False):

22681 """

22682 Setter method for scope, mapped from YANG variable /vnfd/df/affinity_or_anti_affinity_group/scope (affinity-scope)

22683 If this variable is read-only (config: false) in the

22684 source YANG file, then _set_scope is considered as a private

22685 method. Backends looking to populate this variable should

22686 do so via calling thisObj._set_scope() directly.

22687

22688 YANG Description: Specifies the scope of the rule, possible values are

22689'NFVI-PoP', 'Zone', 'ZoneGroup', 'NFVI-node'.

22690 """

22691 if hasattr(v, "_utype"):

22692 v = v._utype(v)

22693 try:

22694 t = YANGDynClass(v,base=RestrictedClassType(base_type=str, restriction_type="dict_key", restriction_arg={'nfvi-node': {}, 'zone-group': {}, 'zone': {}, 'nfvi-pop': {}},), is_leaf=True, yang_name="scope", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='urn:etsi:nfv:yang:etsi-nfv-vnfd', defining_module='etsi-nfv-vnfd', yang_type='affinity-scope', is_config=True)

22695 except (TypeError, ValueError):

22696 raise ValueError({

22697 'error-string': """scope must be of a type compatible with affinity-scope""",

22698 'defined-type': "etsi-nfv-vnfd:affinity-scope",

22699 'generated-type': """YANGDynClass(base=RestrictedClassType(base_type=str, restriction_type="dict_key", restriction_arg={'nfvi-node': {}, 'zone-group': {}, 'zone': {}, 'nfvi-pop': {}},), is_leaf=True, yang_name="scope", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='urn:etsi:nfv:yang:etsi-nfv-vnfd', defining_module='etsi-nfv-vnfd', yang_type='affinity-scope', is_config=True)""",

22700 })

22701

22702 self.__scope = t

22703 if hasattr(self, '_set'):

22704 self._set()

22705

22706 def _unset_scope(self):

22707 self.__scope = YANGDynClass(base=RestrictedClassType(base_type=str, restriction_type="dict_key", restriction_arg={'nfvi-node': {}, 'zone-group': {}, 'zone': {}, 'nfvi-pop': {}},), is_leaf=True, yang_name="scope", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='urn:etsi:nfv:yang:etsi-nfv-vnfd', defining_module='etsi-nfv-vnfd', yang_type='affinity-scope', is_config=True)

22708

22709 id = __builtin__.property(_get_id, _set_id)

22710 type = __builtin__.property(_get_type, _set_type)

22711 scope = __builtin__.property(_get_scope, _set_scope)

22712

22713

22714 _pyangbind_elements = OrderedDict([('id', id), ('type', type), ('scope', scope), ])

22715

22716

22717 class yc_indicator_etsi_nfv_vnfd__vnfd_df_indicator(PybindBase):

22718 """

22719 This class was auto-generated by the PythonClass plugin for PYANG

22720 from YANG module etsi-nfv-vnfd - based on the path /vnfd/df/indicator. Each member element of

22721 the container is represented as a class variable - with a specific

22722 YANG type.

22723

22724 YANG Description: Declares the VNF indicators that are supported by this

22725 VNF (specific to this DF).

22726 """

22727 __slots__ = ('_path_helper', '_extmethods', '__id','__name','__indicator_value','__source',)

22728

22729 _yang_name = 'indicator'

22730 _yang_namespace = 'urn:etsi:nfv:yang:etsi-nfv-vnfd'

22731

22732 _pybind_generated_by = 'container'

22733

22734 def __init__(self, *args, **kwargs):

22735

22736 self._path_helper = False

22737

22738 self._extmethods = False

22739 self.__id = YANGDynClass(base=str, is_leaf=True, yang_name="id", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, is_keyval=True, namespace='urn:etsi:nfv:yang:etsi-nfv-vnfd', defining_module='etsi-nfv-vnfd', yang_type='string', is_config=True)

22740 self.__name = YANGDynClass(base=str, is_leaf=True, yang_name="name", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='urn:etsi:nfv:yang:etsi-nfv-vnfd', defining_module='etsi-nfv-vnfd', yang_type='string', is_config=True)

22741 self.__indicator_value = YANGDynClass(base=str, is_leaf=True, yang_name="indicator-value", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='urn:etsi:nfv:yang:etsi-nfv-vnfd', defining_module='etsi-nfv-vnfd', yang_type='string', is_config=True)

22742 self.__source = YANGDynClass(base=RestrictedClassType(base_type=str, restriction_type="dict_key", restriction_arg={'vnf': {}, 'em': {}, 'both': {}},), is_leaf=True, yang_name="source", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='urn:etsi:nfv:yang:etsi-nfv-vnfd', defining_module='etsi-nfv-vnfd', yang_type='enumeration', is_config=True)

22743

22744 load = kwargs.pop("load", None)

22745 if args:

22746 if len(args) > 1:

22747 raise TypeError("cannot create a YANG container with >1 argument")

22748 all_attr = True

22749 for e in self._pyangbind_elements:

22750 if not hasattr(args[0], e):

22751 all_attr = False

22752 break

22753 if not all_attr:

22754 raise ValueError("Supplied object did not have the correct attributes")

22755 for e in self._pyangbind_elements:

22756 nobj = getattr(args[0], e)

22757 if nobj._changed() is False:

22758 continue

22759 setmethod = getattr(self, "_set_%s" % e)

22760 if load is None:

22761 setmethod(getattr(args[0], e))

22762 else:

22763 setmethod(getattr(args[0], e), load=load)

22764

22765 def _path(self):

22766 if hasattr(self, "_parent"):

22767 return self._parent._path()+[self._yang_name]

22768 else:

22769 return ['vnfd', 'df', 'indicator']

22770

22771 def _get_id(self):

22772 """

22773 Getter method for id, mapped from YANG variable /vnfd/df/indicator/id (string)

22774

22775 YANG Description: Unique identifier.

22776 """

22777 return self.__id

22778

22779 def _set_id(self, v, load=False):

22780 """

22781 Setter method for id, mapped from YANG variable /vnfd/df/indicator/id (string)

22782 If this variable is read-only (config: false) in the

22783 source YANG file, then _set_id is considered as a private

22784 method. Backends looking to populate this variable should

22785 do so via calling thisObj._set_id() directly.

22786

22787 YANG Description: Unique identifier.

22788 """

22789 parent = getattr(self, "_parent", None)

22790 if parent is not None and load is False:

22791 raise AttributeError("Cannot set keys directly when" +

22792 " within an instantiated list")

22793

22794 if hasattr(v, "_utype"):

22795 v = v._utype(v)

22796 try:

22797 t = YANGDynClass(v,base=str, is_leaf=True, yang_name="id", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, is_keyval=True, namespace='urn:etsi:nfv:yang:etsi-nfv-vnfd', defining_module='etsi-nfv-vnfd', yang_type='string', is_config=True)

22798 except (TypeError, ValueError):

22799 raise ValueError({

22800 'error-string': """id must be of a type compatible with string""",

22801 'defined-type': "string",

22802 'generated-type': """YANGDynClass(base=str, is_leaf=True, yang_name="id", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, is_keyval=True, namespace='urn:etsi:nfv:yang:etsi-nfv-vnfd', defining_module='etsi-nfv-vnfd', yang_type='string', is_config=True)""",

22803 })

22804

22805 self.__id = t

22806 if hasattr(self, '_set'):

22807 self._set()

22808

22809 def _unset_id(self):

22810 self.__id = YANGDynClass(base=str, is_leaf=True, yang_name="id", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, is_keyval=True, namespace='urn:etsi:nfv:yang:etsi-nfv-vnfd', defining_module='etsi-nfv-vnfd', yang_type='string', is_config=True)

22811

22812

22813 def _get_name(self):

22814 """

22815 Getter method for name, mapped from YANG variable /vnfd/df/indicator/name (string)

22816

22817 YANG Description: The human readable name of the VnfIndicator.

22818 """

22819 return self.__name

22820

22821 def _set_name(self, v, load=False):

22822 """

22823 Setter method for name, mapped from YANG variable /vnfd/df/indicator/name (string)

22824 If this variable is read-only (config: false) in the

22825 source YANG file, then _set_name is considered as a private

22826 method. Backends looking to populate this variable should

22827 do so via calling thisObj._set_name() directly.

22828

22829 YANG Description: The human readable name of the VnfIndicator.

22830 """

22831 if hasattr(v, "_utype"):

22832 v = v._utype(v)

22833 try:

22834 t = YANGDynClass(v,base=str, is_leaf=True, yang_name="name", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='urn:etsi:nfv:yang:etsi-nfv-vnfd', defining_module='etsi-nfv-vnfd', yang_type='string', is_config=True)

22835 except (TypeError, ValueError):

22836 raise ValueError({

22837 'error-string': """name must be of a type compatible with string""",

22838 'defined-type': "string",

22839 'generated-type': """YANGDynClass(base=str, is_leaf=True, yang_name="name", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='urn:etsi:nfv:yang:etsi-nfv-vnfd', defining_module='etsi-nfv-vnfd', yang_type='string', is_config=True)""",

22840 })

22841

22842 self.__name = t

22843 if hasattr(self, '_set'):

22844 self._set()

22845

22846 def _unset_name(self):

22847 self.__name = YANGDynClass(base=str, is_leaf=True, yang_name="name", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='urn:etsi:nfv:yang:etsi-nfv-vnfd', defining_module='etsi-nfv-vnfd', yang_type='string', is_config=True)

22848

22849

22850 def _get_indicator_value(self):

22851 """

22852 Getter method for indicator_value, mapped from YANG variable /vnfd/df/indicator/indicator_value (string)

22853

22854 YANG Description: Defines the allowed values or value ranges of this

22855 indicator.

22856 """

22857 return self.__indicator_value

22858

22859 def _set_indicator_value(self, v, load=False):

22860 """

22861 Setter method for indicator_value, mapped from YANG variable /vnfd/df/indicator/indicator_value (string)

22862 If this variable is read-only (config: false) in the

22863 source YANG file, then _set_indicator_value is considered as a private

22864 method. Backends looking to populate this variable should

22865 do so via calling thisObj._set_indicator_value() directly.

22866

22867 YANG Description: Defines the allowed values or value ranges of this

22868 indicator.

22869 """

22870 if hasattr(v, "_utype"):

22871 v = v._utype(v)

22872 try:

22873 t = YANGDynClass(v,base=str, is_leaf=True, yang_name="indicator-value", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='urn:etsi:nfv:yang:etsi-nfv-vnfd', defining_module='etsi-nfv-vnfd', yang_type='string', is_config=True)

22874 except (TypeError, ValueError):

22875 raise ValueError({

22876 'error-string': """indicator_value must be of a type compatible with string""",

22877 'defined-type': "string",

22878 'generated-type': """YANGDynClass(base=str, is_leaf=True, yang_name="indicator-value", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='urn:etsi:nfv:yang:etsi-nfv-vnfd', defining_module='etsi-nfv-vnfd', yang_type='string', is_config=True)""",

22879 })

22880

22881 self.__indicator_value = t

22882 if hasattr(self, '_set'):

22883 self._set()

22884

22885 def _unset_indicator_value(self):

22886 self.__indicator_value = YANGDynClass(base=str, is_leaf=True, yang_name="indicator-value", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='urn:etsi:nfv:yang:etsi-nfv-vnfd', defining_module='etsi-nfv-vnfd', yang_type='string', is_config=True)

22887

22888

22889 def _get_source(self):

22890 """

22891 Getter method for source, mapped from YANG variable /vnfd/df/indicator/source (enumeration)

22892

22893 YANG Description: Describe the source of the indicator. The possible

22894 values are:

22895• VNF.

22896• EM.

22897• Both.

22898

22899 This tells the consumer where to send the subscription

22900 request.

22901 """

22902 return self.__source

22903

22904 def _set_source(self, v, load=False):

22905 """

22906 Setter method for source, mapped from YANG variable /vnfd/df/indicator/source (enumeration)

22907 If this variable is read-only (config: false) in the

22908 source YANG file, then _set_source is considered as a private

22909 method. Backends looking to populate this variable should

22910 do so via calling thisObj._set_source() directly.

22911

22912 YANG Description: Describe the source of the indicator. The possible

22913 values are:

22914• VNF.

22915• EM.

22916• Both.

22917

22918 This tells the consumer where to send the subscription

22919 request.

22920 """

22921 if hasattr(v, "_utype"):

22922 v = v._utype(v)

22923 try:

22924 t = YANGDynClass(v,base=RestrictedClassType(base_type=str, restriction_type="dict_key", restriction_arg={'vnf': {}, 'em': {}, 'both': {}},), is_leaf=True, yang_name="source", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='urn:etsi:nfv:yang:etsi-nfv-vnfd', defining_module='etsi-nfv-vnfd', yang_type='enumeration', is_config=True)

22925 except (TypeError, ValueError):

22926 raise ValueError({

22927 'error-string': """source must be of a type compatible with enumeration""",

22928 'defined-type': "etsi-nfv-vnfd:enumeration",

22929 'generated-type': """YANGDynClass(base=RestrictedClassType(base_type=str, restriction_type="dict_key", restriction_arg={'vnf': {}, 'em': {}, 'both': {}},), is_leaf=True, yang_name="source", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='urn:etsi:nfv:yang:etsi-nfv-vnfd', defining_module='etsi-nfv-vnfd', yang_type='enumeration', is_config=True)""",

22930 })

22931

22932 self.__source = t

22933 if hasattr(self, '_set'):

22934 self._set()

22935

22936 def _unset_source(self):

22937 self.__source = YANGDynClass(base=RestrictedClassType(base_type=str, restriction_type="dict_key", restriction_arg={'vnf': {}, 'em': {}, 'both': {}},), is_leaf=True, yang_name="source", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='urn:etsi:nfv:yang:etsi-nfv-vnfd', defining_module='etsi-nfv-vnfd', yang_type='enumeration', is_config=True)

22938

22939 id = __builtin__.property(_get_id, _set_id)

22940 name = __builtin__.property(_get_name, _set_name)

22941 indicator_value = __builtin__.property(_get_indicator_value, _set_indicator_value)

22942 source = __builtin__.property(_get_source, _set_source)

22943

22944

22945 _pyangbind_elements = OrderedDict([('id', id), ('name', name), ('indicator_value', indicator_value), ('source', source), ])

22946

22947

22948 class yc_interface_details_etsi_nfv_vnfd__vnfd_df_supported_vnf_interfaces_interface_details(PybindBase):

22949 """

22950 This class was auto-generated by the PythonClass plugin for PYANG

22951 from YANG module etsi-nfv-vnfd - based on the path /vnfd/df/supported-vnf-interfaces/interface-details. Each member element of

22952 the container is represented as a class variable - with a specific

22953 YANG type.

22954 """

22955 __slots__ = ('_path_helper', '_extmethods', '__key','__value',)

22956

22957 _yang_name = 'interface-details'

22958 _yang_namespace = 'urn:etsi:nfv:yang:etsi-nfv-vnfd'

22959

22960 _pybind_generated_by = 'container'

22961

22962 def __init__(self, *args, **kwargs):

22963

22964 self._path_helper = False

22965

22966 self._extmethods = False

22967 self.__key = YANGDynClass(base=str, is_leaf=True, yang_name="key", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, is_keyval=True, namespace='urn:etsi:nfv:yang:etsi-nfv-vnfd', defining_module='etsi-nfv-vnfd', yang_type='string', is_config=True)

22968 self.__value = YANGDynClass(base=str, is_leaf=True, yang_name="value", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='urn:etsi:nfv:yang:etsi-nfv-vnfd', defining_module='etsi-nfv-vnfd', yang_type='string', is_config=True)

22969

22970 load = kwargs.pop("load", None)

22971 if args:

22972 if len(args) > 1:

22973 raise TypeError("cannot create a YANG container with >1 argument")

22974 all_attr = True

22975 for e in self._pyangbind_elements:

22976 if not hasattr(args[0], e):

22977 all_attr = False

22978 break

22979 if not all_attr:

22980 raise ValueError("Supplied object did not have the correct attributes")

22981 for e in self._pyangbind_elements:

22982 nobj = getattr(args[0], e)

22983 if nobj._changed() is False:

22984 continue

22985 setmethod = getattr(self, "_set_%s" % e)

22986 if load is None:

22987 setmethod(getattr(args[0], e))

22988 else:

22989 setmethod(getattr(args[0], e), load=load)

22990

22991 def _path(self):

22992 if hasattr(self, "_parent"):

22993 return self._parent._path()+[self._yang_name]

22994 else:

22995 return ['vnfd', 'df', 'supported-vnf-interfaces', 'interface-details']

22996

22997 def _get_key(self):

22998 """

22999 Getter method for key, mapped from YANG variable /vnfd/df/supported_vnf_interfaces/interface_details/key (string)

23000 """

23001 return self.__key

23002

23003 def _set_key(self, v, load=False):

23004 """

23005 Setter method for key, mapped from YANG variable /vnfd/df/supported_vnf_interfaces/interface_details/key (string)

23006 If this variable is read-only (config: false) in the

23007 source YANG file, then _set_key is considered as a private

23008 method. Backends looking to populate this variable should

23009 do so via calling thisObj._set_key() directly.

23010 """

23011 parent = getattr(self, "_parent", None)

23012 if parent is not None and load is False:

23013 raise AttributeError("Cannot set keys directly when" +

23014 " within an instantiated list")

23015

23016 if hasattr(v, "_utype"):

23017 v = v._utype(v)

23018 try:

23019 t = YANGDynClass(v,base=str, is_leaf=True, yang_name="key", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, is_keyval=True, namespace='urn:etsi:nfv:yang:etsi-nfv-vnfd', defining_module='etsi-nfv-vnfd', yang_type='string', is_config=True)

23020 except (TypeError, ValueError):

23021 raise ValueError({

23022 'error-string': """key must be of a type compatible with string""",

23023 'defined-type': "string",

23024 'generated-type': """YANGDynClass(base=str, is_leaf=True, yang_name="key", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, is_keyval=True, namespace='urn:etsi:nfv:yang:etsi-nfv-vnfd', defining_module='etsi-nfv-vnfd', yang_type='string', is_config=True)""",

23025 })

23026

23027 self.__key = t

23028 if hasattr(self, '_set'):

23029 self._set()

23030

23031 def _unset_key(self):

23032 self.__key = YANGDynClass(base=str, is_leaf=True, yang_name="key", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, is_keyval=True, namespace='urn:etsi:nfv:yang:etsi-nfv-vnfd', defining_module='etsi-nfv-vnfd', yang_type='string', is_config=True)

23033

23034

23035 def _get_value(self):

23036 """

23037 Getter method for value, mapped from YANG variable /vnfd/df/supported_vnf_interfaces/interface_details/value (string)

23038 """

23039 return self.__value

23040

23041 def _set_value(self, v, load=False):

23042 """

23043 Setter method for value, mapped from YANG variable /vnfd/df/supported_vnf_interfaces/interface_details/value (string)

23044 If this variable is read-only (config: false) in the

23045 source YANG file, then _set_value is considered as a private

23046 method. Backends looking to populate this variable should

23047 do so via calling thisObj._set_value() directly.

23048 """

23049 if hasattr(v, "_utype"):

23050 v = v._utype(v)

23051 try:

23052 t = YANGDynClass(v,base=str, is_leaf=True, yang_name="value", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='urn:etsi:nfv:yang:etsi-nfv-vnfd', defining_module='etsi-nfv-vnfd', yang_type='string', is_config=True)

23053 except (TypeError, ValueError):

23054 raise ValueError({

23055 'error-string': """value must be of a type compatible with string""",

23056 'defined-type': "string",

23057 'generated-type': """YANGDynClass(base=str, is_leaf=True, yang_name="value", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='urn:etsi:nfv:yang:etsi-nfv-vnfd', defining_module='etsi-nfv-vnfd', yang_type='string', is_config=True)""",

23058 })

23059

23060 self.__value = t

23061 if hasattr(self, '_set'):

23062 self._set()

23063

23064 def _unset_value(self):

23065 self.__value = YANGDynClass(base=str, is_leaf=True, yang_name="value", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='urn:etsi:nfv:yang:etsi-nfv-vnfd', defining_module='etsi-nfv-vnfd', yang_type='string', is_config=True)

23066

23067 key = __builtin__.property(_get_key, _set_key)

23068 value = __builtin__.property(_get_value, _set_value)

23069

23070

23071 _pyangbind_elements = OrderedDict([('key', key), ('value', value), ])

23072

23073

23074 class yc_supported_vnf_interfaces_etsi_nfv_vnfd__vnfd_df_supported_vnf_interfaces(PybindBase):

23075 """

23076 This class was auto-generated by the PythonClass plugin for PYANG

23077 from YANG module etsi-nfv-vnfd - based on the path /vnfd/df/supported-vnf-interfaces. Each member element of

23078 the container is represented as a class variable - with a specific

23079 YANG type.

23080

23081 YANG Description: Indicates which interfaces the VNF produces and provides

23082 additional details on how to access the interface

23083 endpoints.

23084 """

23085 __slots__ = ('_path_helper', '_extmethods', '__name','__cpd_id','__interface_details',)

23086

23087 _yang_name = 'supported-vnf-interfaces'

23088 _yang_namespace = 'urn:etsi:nfv:yang:etsi-nfv-vnfd'

23089

23090 _pybind_generated_by = 'container'

23091

23092 def __init__(self, *args, **kwargs):

23093

23094 self._path_helper = False

23095

23096 self._extmethods = False

23097 self.__name = YANGDynClass(base=RestrictedClassType(base_type=str, restriction_type="dict_key", restriction_arg={'vnf-configuration': {}, 'vnf-indicator': {}},), is_leaf=True, yang_name="name", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, is_keyval=True, namespace='urn:etsi:nfv:yang:etsi-nfv-vnfd', defining_module='etsi-nfv-vnfd', yang_type='enumeration', is_config=True)

23098 self.__cpd_id = YANGDynClass(unique=True, base=TypedListType(allowed_type=str), is_leaf=False, yang_name="cpd-id", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='urn:etsi:nfv:yang:etsi-nfv-vnfd', defining_module='etsi-nfv-vnfd', yang_type='leafref', is_config=True)

23099 self.__interface_details = YANGDynClass(base=YANGListType("key",yc_interface_details_etsi_nfv_vnfd__vnfd_df_supported_vnf_interfaces_interface_details, yang_name="interface-details", parent=self, is_container='list', user_ordered=False, path_helper=self._path_helper, yang_keys='key', extensions=None), is_container='list', yang_name="interface-details", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, extensions=None, namespace='urn:etsi:nfv:yang:etsi-nfv-vnfd', defining_module='etsi-nfv-vnfd', yang_type='list', is_config=True)

23100

23101 load = kwargs.pop("load", None)

23102 if args:

23103 if len(args) > 1:

23104 raise TypeError("cannot create a YANG container with >1 argument")

23105 all_attr = True

23106 for e in self._pyangbind_elements:

23107 if not hasattr(args[0], e):

23108 all_attr = False

23109 break

23110 if not all_attr:

23111 raise ValueError("Supplied object did not have the correct attributes")

23112 for e in self._pyangbind_elements:

23113 nobj = getattr(args[0], e)

23114 if nobj._changed() is False:

23115 continue

23116 setmethod = getattr(self, "_set_%s" % e)

23117 if load is None:

23118 setmethod(getattr(args[0], e))

23119 else:

23120 setmethod(getattr(args[0], e), load=load)

23121

23122 def _path(self):

23123 if hasattr(self, "_parent"):

23124 return self._parent._path()+[self._yang_name]

23125 else:

23126 return ['vnfd', 'df', 'supported-vnf-interfaces']

23127

23128 def _get_name(self):

23129 """

23130 Getter method for name, mapped from YANG variable /vnfd/df/supported_vnf_interfaces/name (enumeration)

23131

23132 YANG Description: Identifies an interface produced by the VNF. Valid

23133 values:

23134- VNF_CONFIGURATION

23135- VNF_INDICATOR

23136 """

23137 return self.__name

23138

23139 def _set_name(self, v, load=False):

23140 """

23141 Setter method for name, mapped from YANG variable /vnfd/df/supported_vnf_interfaces/name (enumeration)

23142 If this variable is read-only (config: false) in the

23143 source YANG file, then _set_name is considered as a private

23144 method. Backends looking to populate this variable should

23145 do so via calling thisObj._set_name() directly.

23146

23147 YANG Description: Identifies an interface produced by the VNF. Valid

23148 values:

23149- VNF_CONFIGURATION

23150- VNF_INDICATOR

23151 """

23152 parent = getattr(self, "_parent", None)

23153 if parent is not None and load is False:

23154 raise AttributeError("Cannot set keys directly when" +

23155 " within an instantiated list")

23156

23157 if hasattr(v, "_utype"):

23158 v = v._utype(v)

23159 try:

23160 t = YANGDynClass(v,base=RestrictedClassType(base_type=str, restriction_type="dict_key", restriction_arg={'vnf-configuration': {}, 'vnf-indicator': {}},), is_leaf=True, yang_name="name", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, is_keyval=True, namespace='urn:etsi:nfv:yang:etsi-nfv-vnfd', defining_module='etsi-nfv-vnfd', yang_type='enumeration', is_config=True)

23161 except (TypeError, ValueError):

23162 raise ValueError({

23163 'error-string': """name must be of a type compatible with enumeration""",

23164 'defined-type': "etsi-nfv-vnfd:enumeration",

23165 'generated-type': """YANGDynClass(base=RestrictedClassType(base_type=str, restriction_type="dict_key", restriction_arg={'vnf-configuration': {}, 'vnf-indicator': {}},), is_leaf=True, yang_name="name", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, is_keyval=True, namespace='urn:etsi:nfv:yang:etsi-nfv-vnfd', defining_module='etsi-nfv-vnfd', yang_type='enumeration', is_config=True)""",

23166 })

23167

23168 self.__name = t

23169 if hasattr(self, '_set'):

23170 self._set()

23171

23172 def _unset_name(self):

23173 self.__name = YANGDynClass(base=RestrictedClassType(base_type=str, restriction_type="dict_key", restriction_arg={'vnf-configuration': {}, 'vnf-indicator': {}},), is_leaf=True, yang_name="name", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, is_keyval=True, namespace='urn:etsi:nfv:yang:etsi-nfv-vnfd', defining_module='etsi-nfv-vnfd', yang_type='enumeration', is_config=True)

23174

23175

23176 def _get_cpd_id(self):

23177 """

23178 Getter method for cpd_id, mapped from YANG variable /vnfd/df/supported_vnf_interfaces/cpd_id (leafref)

23179

23180 YANG Description: References one or more CPDs from which to instantiate

23181 external CPs through which interface endpoints on the

23182 VNF side can be reached by the VNFM.

23183 """

23184 return self.__cpd_id

23185

23186 def _set_cpd_id(self, v, load=False):

23187 """

23188 Setter method for cpd_id, mapped from YANG variable /vnfd/df/supported_vnf_interfaces/cpd_id (leafref)

23189 If this variable is read-only (config: false) in the

23190 source YANG file, then _set_cpd_id is considered as a private

23191 method. Backends looking to populate this variable should

23192 do so via calling thisObj._set_cpd_id() directly.

23193

23194 YANG Description: References one or more CPDs from which to instantiate

23195 external CPs through which interface endpoints on the

23196 VNF side can be reached by the VNFM.

23197 """

23198 if hasattr(v, "_utype"):

23199 v = v._utype(v)

23200 try:

23201 t = YANGDynClass(v,unique=True, base=TypedListType(allowed_type=str), is_leaf=False, yang_name="cpd-id", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='urn:etsi:nfv:yang:etsi-nfv-vnfd', defining_module='etsi-nfv-vnfd', yang_type='leafref', is_config=True)

23202 except (TypeError, ValueError):

23203 raise ValueError({

23204 'error-string': """cpd_id must be of a type compatible with leafref""",

23205 'defined-type': "leafref",

23206 'generated-type': """YANGDynClass(unique=True, base=TypedListType(allowed_type=str), is_leaf=False, yang_name="cpd-id", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='urn:etsi:nfv:yang:etsi-nfv-vnfd', defining_module='etsi-nfv-vnfd', yang_type='leafref', is_config=True)""",

23207 })

23208

23209 self.__cpd_id = t

23210 if hasattr(self, '_set'):

23211 self._set()

23212

23213 def _unset_cpd_id(self):

23214 self.__cpd_id = YANGDynClass(unique=True, base=TypedListType(allowed_type=str), is_leaf=False, yang_name="cpd-id", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='urn:etsi:nfv:yang:etsi-nfv-vnfd', defining_module='etsi-nfv-vnfd', yang_type='leafref', is_config=True)

23215

23216

23217 def _get_interface_details(self):

23218 """

23219 Getter method for interface_details, mapped from YANG variable /vnfd/df/supported_vnf_interfaces/interface_details (list)

23220 """

23221 return self.__interface_details

23222

23223 def _set_interface_details(self, v, load=False):

23224 """

23225 Setter method for interface_details, mapped from YANG variable /vnfd/df/supported_vnf_interfaces/interface_details (list)

23226 If this variable is read-only (config: false) in the

23227 source YANG file, then _set_interface_details is considered as a private

23228 method. Backends looking to populate this variable should

23229 do so via calling thisObj._set_interface_details() directly.

23230 """

23231 if hasattr(v, "_utype"):

23232 v = v._utype(v)

23233 try:

23234 t = YANGDynClass(v,base=YANGListType("key",yc_interface_details_etsi_nfv_vnfd__vnfd_df_supported_vnf_interfaces_interface_details, yang_name="interface-details", parent=self, is_container='list', user_ordered=False, path_helper=self._path_helper, yang_keys='key', extensions=None), is_container='list', yang_name="interface-details", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, extensions=None, namespace='urn:etsi:nfv:yang:etsi-nfv-vnfd', defining_module='etsi-nfv-vnfd', yang_type='list', is_config=True)

23235 except (TypeError, ValueError):

23236 raise ValueError({

23237 'error-string': """interface_details must be of a type compatible with list""",

23238 'defined-type': "list",

23239 'generated-type': """YANGDynClass(base=YANGListType("key",yc_interface_details_etsi_nfv_vnfd__vnfd_df_supported_vnf_interfaces_interface_details, yang_name="interface-details", parent=self, is_container='list', user_ordered=False, path_helper=self._path_helper, yang_keys='key', extensions=None), is_container='list', yang_name="interface-details", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, extensions=None, namespace='urn:etsi:nfv:yang:etsi-nfv-vnfd', defining_module='etsi-nfv-vnfd', yang_type='list', is_config=True)""",

23240 })

23241

23242 self.__interface_details = t

23243 if hasattr(self, '_set'):

23244 self._set()

23245

23246 def _unset_interface_details(self):

23247 self.__interface_details = YANGDynClass(base=YANGListType("key",yc_interface_details_etsi_nfv_vnfd__vnfd_df_supported_vnf_interfaces_interface_details, yang_name="interface-details", parent=self, is_container='list', user_ordered=False, path_helper=self._path_helper, yang_keys='key', extensions=None), is_container='list', yang_name="interface-details", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, extensions=None, namespace='urn:etsi:nfv:yang:etsi-nfv-vnfd', defining_module='etsi-nfv-vnfd', yang_type='list', is_config=True)

23248

23249 name = __builtin__.property(_get_name, _set_name)

23250 cpd_id = __builtin__.property(_get_cpd_id, _set_cpd_id)

23251 interface_details = __builtin__.property(_get_interface_details, _set_interface_details)

23252

23253

23254 _pyangbind_elements = OrderedDict([('name', name), ('cpd_id', cpd_id), ('interface_details', interface_details), ])

23255

23256

23257 class yc_monitoring_parameter_etsi_nfv_vnfd__vnfd_df_monitoring_parameter(PybindBase):

23258 """

23259 This class was auto-generated by the PythonClass plugin for PYANG

23260 from YANG module etsi-nfv-vnfd - based on the path /vnfd/df/monitoring-parameter. Each member element of

23261 the container is represented as a class variable - with a specific

23262 YANG type.

23263

23264 YANG Description: Defines the virtualised resources monitoring parameters

23265 on VNF level.

23266 """

23267 __slots__ = ('_path_helper', '_extmethods', '__id','__name','__performance_metric','__collection_period',)

23268

23269 _yang_name = 'monitoring-parameter'

23270 _yang_namespace = 'urn:etsi:nfv:yang:etsi-nfv-vnfd'

23271

23272 _pybind_generated_by = 'container'

23273

23274 def __init__(self, *args, **kwargs):

23275

23276 self._path_helper = False

23277

23278 self._extmethods = False

23279 self.__id = YANGDynClass(base=str, is_leaf=True, yang_name="id", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, is_keyval=True, namespace='urn:etsi:nfv:yang:etsi-nfv-vnfd', defining_module='etsi-nfv-vnfd', yang_type='string', is_config=True)

23280 self.__name = YANGDynClass(base=str, is_leaf=True, yang_name="name", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='urn:etsi:nfv:yang:etsi-nfv-vnfd', defining_module='etsi-nfv-vnfd', yang_type='string', is_config=True)

23281 self.__performance_metric = YANGDynClass(base=str, is_leaf=True, yang_name="performance-metric", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='urn:etsi:nfv:yang:etsi-nfv-vnfd', defining_module='etsi-nfv-vnfd', yang_type='string', is_config=True)

23282 self.__collection_period = YANGDynClass(base=RestrictedClassType(base_type=long, restriction_dict={'range': ['0..18446744073709551615']}, int_size=64), is_leaf=True, yang_name="collection-period", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='urn:etsi:nfv:yang:etsi-nfv-vnfd', defining_module='etsi-nfv-vnfd', yang_type='uint64', is_config=True)

23283

23284 load = kwargs.pop("load", None)

23285 if args:

23286 if len(args) > 1:

23287 raise TypeError("cannot create a YANG container with >1 argument")

23288 all_attr = True

23289 for e in self._pyangbind_elements:

23290 if not hasattr(args[0], e):

23291 all_attr = False

23292 break

23293 if not all_attr:

23294 raise ValueError("Supplied object did not have the correct attributes")

23295 for e in self._pyangbind_elements:

23296 nobj = getattr(args[0], e)

23297 if nobj._changed() is False:

23298 continue

23299 setmethod = getattr(self, "_set_%s" % e)

23300 if load is None:

23301 setmethod(getattr(args[0], e))

23302 else:

23303 setmethod(getattr(args[0], e), load=load)

23304

23305 def _path(self):

23306 if hasattr(self, "_parent"):

23307 return self._parent._path()+[self._yang_name]

23308 else:

23309 return ['vnfd', 'df', 'monitoring-parameter']

23310

23311 def _get_id(self):

23312 """

23313 Getter method for id, mapped from YANG variable /vnfd/df/monitoring_parameter/id (string)

23314

23315 YANG Description: Unique identifier of the monitoring parameter.

23316 """

23317 return self.__id

23318

23319 def _set_id(self, v, load=False):

23320 """

23321 Setter method for id, mapped from YANG variable /vnfd/df/monitoring_parameter/id (string)

23322 If this variable is read-only (config: false) in the

23323 source YANG file, then _set_id is considered as a private

23324 method. Backends looking to populate this variable should

23325 do so via calling thisObj._set_id() directly.

23326

23327 YANG Description: Unique identifier of the monitoring parameter.

23328 """

23329 parent = getattr(self, "_parent", None)

23330 if parent is not None and load is False:

23331 raise AttributeError("Cannot set keys directly when" +

23332 " within an instantiated list")

23333

23334 if hasattr(v, "_utype"):

23335 v = v._utype(v)

23336 try:

23337 t = YANGDynClass(v,base=str, is_leaf=True, yang_name="id", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, is_keyval=True, namespace='urn:etsi:nfv:yang:etsi-nfv-vnfd', defining_module='etsi-nfv-vnfd', yang_type='string', is_config=True)

23338 except (TypeError, ValueError):

23339 raise ValueError({

23340 'error-string': """id must be of a type compatible with string""",

23341 'defined-type': "string",

23342 'generated-type': """YANGDynClass(base=str, is_leaf=True, yang_name="id", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, is_keyval=True, namespace='urn:etsi:nfv:yang:etsi-nfv-vnfd', defining_module='etsi-nfv-vnfd', yang_type='string', is_config=True)""",

23343 })

23344

23345 self.__id = t

23346 if hasattr(self, '_set'):

23347 self._set()

23348

23349 def _unset_id(self):

23350 self.__id = YANGDynClass(base=str, is_leaf=True, yang_name="id", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, is_keyval=True, namespace='urn:etsi:nfv:yang:etsi-nfv-vnfd', defining_module='etsi-nfv-vnfd', yang_type='string', is_config=True)

23351

23352

23353 def _get_name(self):

23354 """

23355 Getter method for name, mapped from YANG variable /vnfd/df/monitoring_parameter/name (string)

23356

23357 YANG Description: Human readable name of the monitoring parameter.

23358 """

23359 return self.__name

23360

23361 def _set_name(self, v, load=False):

23362 """

23363 Setter method for name, mapped from YANG variable /vnfd/df/monitoring_parameter/name (string)

23364 If this variable is read-only (config: false) in the

23365 source YANG file, then _set_name is considered as a private

23366 method. Backends looking to populate this variable should

23367 do so via calling thisObj._set_name() directly.

23368

23369 YANG Description: Human readable name of the monitoring parameter.

23370 """

23371 if hasattr(v, "_utype"):

23372 v = v._utype(v)

23373 try:

23374 t = YANGDynClass(v,base=str, is_leaf=True, yang_name="name", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='urn:etsi:nfv:yang:etsi-nfv-vnfd', defining_module='etsi-nfv-vnfd', yang_type='string', is_config=True)

23375 except (TypeError, ValueError):

23376 raise ValueError({

23377 'error-string': """name must be of a type compatible with string""",

23378 'defined-type': "string",

23379 'generated-type': """YANGDynClass(base=str, is_leaf=True, yang_name="name", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='urn:etsi:nfv:yang:etsi-nfv-vnfd', defining_module='etsi-nfv-vnfd', yang_type='string', is_config=True)""",

23380 })

23381

23382 self.__name = t

23383 if hasattr(self, '_set'):

23384 self._set()

23385

23386 def _unset_name(self):

23387 self.__name = YANGDynClass(base=str, is_leaf=True, yang_name="name", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='urn:etsi:nfv:yang:etsi-nfv-vnfd', defining_module='etsi-nfv-vnfd', yang_type='string', is_config=True)

23388

23389

23390 def _get_performance_metric(self):

23391 """

23392 Getter method for performance_metric, mapped from YANG variable /vnfd/df/monitoring_parameter/performance_metric (string)

23393

23394 YANG Description: Performance metric that is monitored. This attribute shall

23395 contain the related 'Measurement Name' value as defined in

23396 clause 7.2 of ETSI GS NFV-IFA 027

23397 """

23398 return self.__performance_metric

23399

23400 def _set_performance_metric(self, v, load=False):

23401 """

23402 Setter method for performance_metric, mapped from YANG variable /vnfd/df/monitoring_parameter/performance_metric (string)

23403 If this variable is read-only (config: false) in the

23404 source YANG file, then _set_performance_metric is considered as a private

23405 method. Backends looking to populate this variable should

23406 do so via calling thisObj._set_performance_metric() directly.

23407

23408 YANG Description: Performance metric that is monitored. This attribute shall

23409 contain the related 'Measurement Name' value as defined in

23410 clause 7.2 of ETSI GS NFV-IFA 027

23411 """

23412 if hasattr(v, "_utype"):

23413 v = v._utype(v)

23414 try:

23415 t = YANGDynClass(v,base=str, is_leaf=True, yang_name="performance-metric", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='urn:etsi:nfv:yang:etsi-nfv-vnfd', defining_module='etsi-nfv-vnfd', yang_type='string', is_config=True)

23416 except (TypeError, ValueError):

23417 raise ValueError({

23418 'error-string': """performance_metric must be of a type compatible with string""",

23419 'defined-type': "string",

23420 'generated-type': """YANGDynClass(base=str, is_leaf=True, yang_name="performance-metric", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='urn:etsi:nfv:yang:etsi-nfv-vnfd', defining_module='etsi-nfv-vnfd', yang_type='string', is_config=True)""",

23421 })

23422

23423 self.__performance_metric = t

23424 if hasattr(self, '_set'):

23425 self._set()

23426

23427 def _unset_performance_metric(self):

23428 self.__performance_metric = YANGDynClass(base=str, is_leaf=True, yang_name="performance-metric", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='urn:etsi:nfv:yang:etsi-nfv-vnfd', defining_module='etsi-nfv-vnfd', yang_type='string', is_config=True)

23429

23430

23431 def _get_collection_period(self):

23432 """

23433 Getter method for collection_period, mapped from YANG variable /vnfd/df/monitoring_parameter/collection_period (uint64)

23434

23435 YANG Description: An attribute that describes the recommended periodicity at

23436 which to collect the performance information. VNFM determines

23437 if this parameter is considered.

23438

23439 The vendor may provide this information as a guidance for

23440 creating PmJobs if needed.

23441 """

23442 return self.__collection_period

23443

23444 def _set_collection_period(self, v, load=False):

23445 """

23446 Setter method for collection_period, mapped from YANG variable /vnfd/df/monitoring_parameter/collection_period (uint64)

23447 If this variable is read-only (config: false) in the

23448 source YANG file, then _set_collection_period is considered as a private

23449 method. Backends looking to populate this variable should

23450 do so via calling thisObj._set_collection_period() directly.

23451

23452 YANG Description: An attribute that describes the recommended periodicity at

23453 which to collect the performance information. VNFM determines

23454 if this parameter is considered.

23455

23456 The vendor may provide this information as a guidance for

23457 creating PmJobs if needed.

23458 """

23459 if hasattr(v, "_utype"):

23460 v = v._utype(v)

23461 try:

23462 t = YANGDynClass(v,base=RestrictedClassType(base_type=long, restriction_dict={'range': ['0..18446744073709551615']}, int_size=64), is_leaf=True, yang_name="collection-period", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='urn:etsi:nfv:yang:etsi-nfv-vnfd', defining_module='etsi-nfv-vnfd', yang_type='uint64', is_config=True)

23463 except (TypeError, ValueError):

23464 raise ValueError({

23465 'error-string': """collection_period must be of a type compatible with uint64""",

23466 'defined-type': "uint64",

23467 'generated-type': """YANGDynClass(base=RestrictedClassType(base_type=long, restriction_dict={'range': ['0..18446744073709551615']}, int_size=64), is_leaf=True, yang_name="collection-period", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='urn:etsi:nfv:yang:etsi-nfv-vnfd', defining_module='etsi-nfv-vnfd', yang_type='uint64', is_config=True)""",

23468 })

23469

23470 self.__collection_period = t

23471 if hasattr(self, '_set'):

23472 self._set()

23473

23474 def _unset_collection_period(self):

23475 self.__collection_period = YANGDynClass(base=RestrictedClassType(base_type=long, restriction_dict={'range': ['0..18446744073709551615']}, int_size=64), is_leaf=True, yang_name="collection-period", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='urn:etsi:nfv:yang:etsi-nfv-vnfd', defining_module='etsi-nfv-vnfd', yang_type='uint64', is_config=True)

23476

23477 id = __builtin__.property(_get_id, _set_id)

23478 name = __builtin__.property(_get_name, _set_name)

23479 performance_metric = __builtin__.property(_get_performance_metric, _set_performance_metric)

23480 collection_period = __builtin__.property(_get_collection_period, _set_collection_period)

23481

23482

23483 _pyangbind_elements = OrderedDict([('id', id), ('name', name), ('performance_metric', performance_metric), ('collection_period', collection_period), ])

23484

23485

23486 class yc_vdu_delta_etsi_nfv_vnfd__vnfd_df_scaling_aspect_aspect_delta_details_deltas_vdu_delta(PybindBase):

23487 """

23488 This class was auto-generated by the PythonClass plugin for PYANG

23489 from YANG module etsi-nfv-vnfd - based on the path /vnfd/df/scaling-aspect/aspect-delta-details/deltas/vdu-delta. Each member element of

23490 the container is represented as a class variable - with a specific

23491 YANG type.

23492

23493 YANG Description: The number of VNFC instances based on particular

23494 VDUs to be created or removed.

23495 """

23496 __slots__ = ('_path_helper', '_extmethods', '__id','__number_of_instances',)

23497

23498 _yang_name = 'vdu-delta'

23499 _yang_namespace = 'urn:etsi:nfv:yang:etsi-nfv-vnfd'

23500

23501 _pybind_generated_by = 'container'

23502

23503 def __init__(self, *args, **kwargs):

23504

23505 self._path_helper = False

23506

23507 self._extmethods = False

23508 self.__id = YANGDynClass(base=str, is_leaf=True, yang_name="id", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, is_keyval=True, namespace='urn:etsi:nfv:yang:etsi-nfv-vnfd', defining_module='etsi-nfv-vnfd', yang_type='leafref', is_config=True)

23509 self.__number_of_instances = YANGDynClass(base=RestrictedClassType(base_type=RestrictedClassType(base_type=long, restriction_dict={'range': ['0..4294967295']}, int_size=32), restriction_dict={'range': ['0..max']}), is_leaf=True, yang_name="number-of-instances", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='urn:etsi:nfv:yang:etsi-nfv-vnfd', defining_module='etsi-nfv-vnfd', yang_type='uint32', is_config=True)

23510

23511 load = kwargs.pop("load", None)

23512 if args:

23513 if len(args) > 1:

23514 raise TypeError("cannot create a YANG container with >1 argument")

23515 all_attr = True

23516 for e in self._pyangbind_elements:

23517 if not hasattr(args[0], e):

23518 all_attr = False

23519 break

23520 if not all_attr:

23521 raise ValueError("Supplied object did not have the correct attributes")

23522 for e in self._pyangbind_elements:

23523 nobj = getattr(args[0], e)

23524 if nobj._changed() is False:

23525 continue

23526 setmethod = getattr(self, "_set_%s" % e)

23527 if load is None:

23528 setmethod(getattr(args[0], e))

23529 else:

23530 setmethod(getattr(args[0], e), load=load)

23531

23532 def _path(self):

23533 if hasattr(self, "_parent"):

23534 return self._parent._path()+[self._yang_name]

23535 else:

23536 return ['vnfd', 'df', 'scaling-aspect', 'aspect-delta-details', 'deltas', 'vdu-delta']

23537

23538 def _get_id(self):

23539 """

23540 Getter method for id, mapped from YANG variable /vnfd/df/scaling_aspect/aspect_delta_details/deltas/vdu_delta/id (leafref)

23541

23542 YANG Description: Uniquely identifies a VDU.

23543 """

23544 return self.__id

23545

23546 def _set_id(self, v, load=False):

23547 """

23548 Setter method for id, mapped from YANG variable /vnfd/df/scaling_aspect/aspect_delta_details/deltas/vdu_delta/id (leafref)

23549 If this variable is read-only (config: false) in the

23550 source YANG file, then _set_id is considered as a private

23551 method. Backends looking to populate this variable should

23552 do so via calling thisObj._set_id() directly.

23553

23554 YANG Description: Uniquely identifies a VDU.

23555 """

23556 parent = getattr(self, "_parent", None)

23557 if parent is not None and load is False:

23558 raise AttributeError("Cannot set keys directly when" +

23559 " within an instantiated list")

23560

23561 if hasattr(v, "_utype"):

23562 v = v._utype(v)

23563 try:

23564 t = YANGDynClass(v,base=str, is_leaf=True, yang_name="id", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, is_keyval=True, namespace='urn:etsi:nfv:yang:etsi-nfv-vnfd', defining_module='etsi-nfv-vnfd', yang_type='leafref', is_config=True)

23565 except (TypeError, ValueError):

23566 raise ValueError({

23567 'error-string': """id must be of a type compatible with leafref""",

23568 'defined-type': "leafref",

23569 'generated-type': """YANGDynClass(base=str, is_leaf=True, yang_name="id", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, is_keyval=True, namespace='urn:etsi:nfv:yang:etsi-nfv-vnfd', defining_module='etsi-nfv-vnfd', yang_type='leafref', is_config=True)""",

23570 })

23571

23572 self.__id = t

23573 if hasattr(self, '_set'):

23574 self._set()

23575

23576 def _unset_id(self):

23577 self.__id = YANGDynClass(base=str, is_leaf=True, yang_name="id", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, is_keyval=True, namespace='urn:etsi:nfv:yang:etsi-nfv-vnfd', defining_module='etsi-nfv-vnfd', yang_type='leafref', is_config=True)

23578

23579

23580 def _get_number_of_instances(self):

23581 """

23582 Getter method for number_of_instances, mapped from YANG variable /vnfd/df/scaling_aspect/aspect_delta_details/deltas/vdu_delta/number_of_instances (uint32)

23583

23584 YANG Description: Number of instances of VNFC based on this VDU to

23585 deploy for an instantiation level or for a

23586 scaling delta. Shall be zero or greater.

23587 """

23588 return self.__number_of_instances

23589

23590 def _set_number_of_instances(self, v, load=False):

23591 """

23592 Setter method for number_of_instances, mapped from YANG variable /vnfd/df/scaling_aspect/aspect_delta_details/deltas/vdu_delta/number_of_instances (uint32)

23593 If this variable is read-only (config: false) in the

23594 source YANG file, then _set_number_of_instances is considered as a private

23595 method. Backends looking to populate this variable should

23596 do so via calling thisObj._set_number_of_instances() directly.

23597

23598 YANG Description: Number of instances of VNFC based on this VDU to

23599 deploy for an instantiation level or for a

23600 scaling delta. Shall be zero or greater.

23601 """

23602 if hasattr(v, "_utype"):

23603 v = v._utype(v)

23604 try:

23605 t = YANGDynClass(v,base=RestrictedClassType(base_type=RestrictedClassType(base_type=long, restriction_dict={'range': ['0..4294967295']}, int_size=32), restriction_dict={'range': ['0..max']}), is_leaf=True, yang_name="number-of-instances", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='urn:etsi:nfv:yang:etsi-nfv-vnfd', defining_module='etsi-nfv-vnfd', yang_type='uint32', is_config=True)

23606 except (TypeError, ValueError):

23607 raise ValueError({

23608 'error-string': """number_of_instances must be of a type compatible with uint32""",

23609 'defined-type': "uint32",

23610 'generated-type': """YANGDynClass(base=RestrictedClassType(base_type=RestrictedClassType(base_type=long, restriction_dict={'range': ['0..4294967295']}, int_size=32), restriction_dict={'range': ['0..max']}), is_leaf=True, yang_name="number-of-instances", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='urn:etsi:nfv:yang:etsi-nfv-vnfd', defining_module='etsi-nfv-vnfd', yang_type='uint32', is_config=True)""",

23611 })

23612

23613 self.__number_of_instances = t

23614 if hasattr(self, '_set'):

23615 self._set()

23616

23617 def _unset_number_of_instances(self):

23618 self.__number_of_instances = YANGDynClass(base=RestrictedClassType(base_type=RestrictedClassType(base_type=long, restriction_dict={'range': ['0..4294967295']}, int_size=32), restriction_dict={'range': ['0..max']}), is_leaf=True, yang_name="number-of-instances", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='urn:etsi:nfv:yang:etsi-nfv-vnfd', defining_module='etsi-nfv-vnfd', yang_type='uint32', is_config=True)

23619

23620 id = __builtin__.property(_get_id, _set_id)

23621 number_of_instances = __builtin__.property(_get_number_of_instances, _set_number_of_instances)

23622

23623

23624 _pyangbind_elements = OrderedDict([('id', id), ('number_of_instances', number_of_instances), ])

23625

23626

23627 class yc_bit_rate_requirements_etsi_nfv_vnfd__vnfd_df_scaling_aspect_aspect_delta_details_deltas_virtual_link_bit_rate_delta_bit_rate_requirements(PybindBase):

23628 """

23629 This class was auto-generated by the PythonClass plugin for PYANG

23630 from YANG module etsi-nfv-vnfd - based on the path /vnfd/df/scaling-aspect/aspect-delta-details/deltas/virtual-link-bit-rate-delta/bit-rate-requirements. Each member element of

23631 the container is represented as a class variable - with a specific

23632 YANG type.

23633

23634 YANG Description: Bitrate requirements for an instantiation level

23635 or bitrate delta for a scaling step.

23636 """

23637 __slots__ = ('_path_helper', '_extmethods', '__root','__leaf',)

23638

23639 _yang_name = 'bit-rate-requirements'

23640 _yang_namespace = 'urn:etsi:nfv:yang:etsi-nfv-vnfd'

23641

23642 _pybind_generated_by = 'container'

23643

23644 def __init__(self, *args, **kwargs):

23645

23646 self._path_helper = False

23647

23648 self._extmethods = False

23649 self.__root = YANGDynClass(base=RestrictedClassType(base_type=long, restriction_dict={'range': ['0..4294967295']}, int_size=32), is_leaf=True, yang_name="root", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='urn:etsi:nfv:yang:etsi-nfv-vnfd', defining_module='etsi-nfv-vnfd', yang_type='uint32', is_config=True)

23650 self.__leaf = YANGDynClass(base=RestrictedClassType(base_type=long, restriction_dict={'range': ['0..4294967295']}, int_size=32), is_leaf=True, yang_name="leaf", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='urn:etsi:nfv:yang:etsi-nfv-vnfd', defining_module='etsi-nfv-vnfd', yang_type='uint32', is_config=True)

23651

23652 load = kwargs.pop("load", None)

23653 if args:

23654 if len(args) > 1:

23655 raise TypeError("cannot create a YANG container with >1 argument")

23656 all_attr = True

23657 for e in self._pyangbind_elements:

23658 if not hasattr(args[0], e):

23659 all_attr = False

23660 break

23661 if not all_attr:

23662 raise ValueError("Supplied object did not have the correct attributes")

23663 for e in self._pyangbind_elements:

23664 nobj = getattr(args[0], e)

23665 if nobj._changed() is False:

23666 continue

23667 setmethod = getattr(self, "_set_%s" % e)

23668 if load is None:

23669 setmethod(getattr(args[0], e))

23670 else:

23671 setmethod(getattr(args[0], e), load=load)

23672

23673 def _path(self):

23674 if hasattr(self, "_parent"):

23675 return self._parent._path()+[self._yang_name]

23676 else:

23677 return ['vnfd', 'df', 'scaling-aspect', 'aspect-delta-details', 'deltas', 'virtual-link-bit-rate-delta', 'bit-rate-requirements']

23678

23679 def _get_root(self):

23680 """

23681 Getter method for root, mapped from YANG variable /vnfd/df/scaling_aspect/aspect_delta_details/deltas/virtual_link_bit_rate_delta/bit_rate_requirements/root (uint32)

23682

23683 YANG Description: Throughput requirement of the link (e.g.

23684 bitrate of E-Line, root bitrate of E-Tree,

23685 aggregate capacity of E-LAN).

23686 """

23687 return self.__root

23688

23689 def _set_root(self, v, load=False):

23690 """

23691 Setter method for root, mapped from YANG variable /vnfd/df/scaling_aspect/aspect_delta_details/deltas/virtual_link_bit_rate_delta/bit_rate_requirements/root (uint32)

23692 If this variable is read-only (config: false) in the

23693 source YANG file, then _set_root is considered as a private

23694 method. Backends looking to populate this variable should

23695 do so via calling thisObj._set_root() directly.

23696

23697 YANG Description: Throughput requirement of the link (e.g.

23698 bitrate of E-Line, root bitrate of E-Tree,

23699 aggregate capacity of E-LAN).

23700 """

23701 if hasattr(v, "_utype"):

23702 v = v._utype(v)

23703 try:

23704 t = YANGDynClass(v,base=RestrictedClassType(base_type=long, restriction_dict={'range': ['0..4294967295']}, int_size=32), is_leaf=True, yang_name="root", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='urn:etsi:nfv:yang:etsi-nfv-vnfd', defining_module='etsi-nfv-vnfd', yang_type='uint32', is_config=True)

23705 except (TypeError, ValueError):

23706 raise ValueError({

23707 'error-string': """root must be of a type compatible with uint32""",

23708 'defined-type': "uint32",

23709 'generated-type': """YANGDynClass(base=RestrictedClassType(base_type=long, restriction_dict={'range': ['0..4294967295']}, int_size=32), is_leaf=True, yang_name="root", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='urn:etsi:nfv:yang:etsi-nfv-vnfd', defining_module='etsi-nfv-vnfd', yang_type='uint32', is_config=True)""",

23710 })

23711

23712 self.__root = t

23713 if hasattr(self, '_set'):

23714 self._set()

23715

23716 def _unset_root(self):

23717 self.__root = YANGDynClass(base=RestrictedClassType(base_type=long, restriction_dict={'range': ['0..4294967295']}, int_size=32), is_leaf=True, yang_name="root", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='urn:etsi:nfv:yang:etsi-nfv-vnfd', defining_module='etsi-nfv-vnfd', yang_type='uint32', is_config=True)

23718

23719

23720 def _get_leaf(self):

23721 """

23722 Getter method for leaf, mapped from YANG variable /vnfd/df/scaling_aspect/aspect_delta_details/deltas/virtual_link_bit_rate_delta/bit_rate_requirements/leaf (uint32)

23723

23724 YANG Description: Throughput requirement of leaf connections to

23725 the link when applicable to the connectivity

23726 type (e.g. for E-Tree and E-LAN branches).

23727 """

23728 return self.__leaf

23729

23730 def _set_leaf(self, v, load=False):

23731 """

23732 Setter method for leaf, mapped from YANG variable /vnfd/df/scaling_aspect/aspect_delta_details/deltas/virtual_link_bit_rate_delta/bit_rate_requirements/leaf (uint32)

23733 If this variable is read-only (config: false) in the

23734 source YANG file, then _set_leaf is considered as a private

23735 method. Backends looking to populate this variable should

23736 do so via calling thisObj._set_leaf() directly.

23737

23738 YANG Description: Throughput requirement of leaf connections to

23739 the link when applicable to the connectivity

23740 type (e.g. for E-Tree and E-LAN branches).

23741 """

23742 if hasattr(v, "_utype"):

23743 v = v._utype(v)

23744 try:

23745 t = YANGDynClass(v,base=RestrictedClassType(base_type=long, restriction_dict={'range': ['0..4294967295']}, int_size=32), is_leaf=True, yang_name="leaf", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='urn:etsi:nfv:yang:etsi-nfv-vnfd', defining_module='etsi-nfv-vnfd', yang_type='uint32', is_config=True)

23746 except (TypeError, ValueError):

23747 raise ValueError({

23748 'error-string': """leaf must be of a type compatible with uint32""",

23749 'defined-type': "uint32",

23750 'generated-type': """YANGDynClass(base=RestrictedClassType(base_type=long, restriction_dict={'range': ['0..4294967295']}, int_size=32), is_leaf=True, yang_name="leaf", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='urn:etsi:nfv:yang:etsi-nfv-vnfd', defining_module='etsi-nfv-vnfd', yang_type='uint32', is_config=True)""",

23751 })

23752

23753 self.__leaf = t

23754 if hasattr(self, '_set'):

23755 self._set()

23756

23757 def _unset_leaf(self):

23758 self.__leaf = YANGDynClass(base=RestrictedClassType(base_type=long, restriction_dict={'range': ['0..4294967295']}, int_size=32), is_leaf=True, yang_name="leaf", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='urn:etsi:nfv:yang:etsi-nfv-vnfd', defining_module='etsi-nfv-vnfd', yang_type='uint32', is_config=True)

23759

23760 root = __builtin__.property(_get_root, _set_root)

23761 leaf = __builtin__.property(_get_leaf, _set_leaf)

23762

23763

23764 _pyangbind_elements = OrderedDict([('root', root), ('leaf', leaf), ])

23765

23766

23767 class yc_virtual_link_bit_rate_delta_etsi_nfv_vnfd__vnfd_df_scaling_aspect_aspect_delta_details_deltas_virtual_link_bit_rate_delta(PybindBase):

23768 """

23769 This class was auto-generated by the PythonClass plugin for PYANG

23770 from YANG module etsi-nfv-vnfd - based on the path /vnfd/df/scaling-aspect/aspect-delta-details/deltas/virtual-link-bit-rate-delta. Each member element of

23771 the container is represented as a class variable - with a specific

23772 YANG type.

23773

23774 YANG Description: The bitrate to be added or removed to virtual links

23775 created from particular virtual link descriptors.

23776 """

23777 __slots__ = ('_path_helper', '_extmethods', '__id','__bit_rate_requirements',)

23778

23779 _yang_name = 'virtual-link-bit-rate-delta'

23780 _yang_namespace = 'urn:etsi:nfv:yang:etsi-nfv-vnfd'

23781

23782 _pybind_generated_by = 'container'

23783

23784 def __init__(self, *args, **kwargs):

23785

23786 self._path_helper = False

23787

23788 self._extmethods = False

23789 self.__id = YANGDynClass(base=str, is_leaf=True, yang_name="id", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, is_keyval=True, namespace='urn:etsi:nfv:yang:etsi-nfv-vnfd', defining_module='etsi-nfv-vnfd', yang_type='string', is_config=True)

23790 self.__bit_rate_requirements = YANGDynClass(base=yc_bit_rate_requirements_etsi_nfv_vnfd__vnfd_df_scaling_aspect_aspect_delta_details_deltas_virtual_link_bit_rate_delta_bit_rate_requirements, is_container='container', yang_name="bit-rate-requirements", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, extensions=None, namespace='urn:etsi:nfv:yang:etsi-nfv-vnfd', defining_module='etsi-nfv-vnfd', yang_type='container', is_config=True)

23791

23792 load = kwargs.pop("load", None)

23793 if args:

23794 if len(args) > 1:

23795 raise TypeError("cannot create a YANG container with >1 argument")

23796 all_attr = True

23797 for e in self._pyangbind_elements:

23798 if not hasattr(args[0], e):

23799 all_attr = False

23800 break

23801 if not all_attr:

23802 raise ValueError("Supplied object did not have the correct attributes")

23803 for e in self._pyangbind_elements:

23804 nobj = getattr(args[0], e)

23805 if nobj._changed() is False:

23806 continue

23807 setmethod = getattr(self, "_set_%s" % e)

23808 if load is None:

23809 setmethod(getattr(args[0], e))

23810 else:

23811 setmethod(getattr(args[0], e), load=load)

23812

23813 def _path(self):

23814 if hasattr(self, "_parent"):

23815 return self._parent._path()+[self._yang_name]

23816 else:

23817 return ['vnfd', 'df', 'scaling-aspect', 'aspect-delta-details', 'deltas', 'virtual-link-bit-rate-delta']

23818

23819 def _get_id(self):

23820 """

23821 Getter method for id, mapped from YANG variable /vnfd/df/scaling_aspect/aspect_delta_details/deltas/virtual_link_bit_rate_delta/id (string)

23822

23823 YANG Description: Uniquely identifies a VnfVirtualLinkDesc.

23824 """

23825 return self.__id

23826

23827 def _set_id(self, v, load=False):

23828 """

23829 Setter method for id, mapped from YANG variable /vnfd/df/scaling_aspect/aspect_delta_details/deltas/virtual_link_bit_rate_delta/id (string)

23830 If this variable is read-only (config: false) in the

23831 source YANG file, then _set_id is considered as a private

23832 method. Backends looking to populate this variable should

23833 do so via calling thisObj._set_id() directly.

23834

23835 YANG Description: Uniquely identifies a VnfVirtualLinkDesc.

23836 """

23837 parent = getattr(self, "_parent", None)

23838 if parent is not None and load is False:

23839 raise AttributeError("Cannot set keys directly when" +

23840 " within an instantiated list")

23841

23842 if hasattr(v, "_utype"):

23843 v = v._utype(v)

23844 try:

23845 t = YANGDynClass(v,base=str, is_leaf=True, yang_name="id", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, is_keyval=True, namespace='urn:etsi:nfv:yang:etsi-nfv-vnfd', defining_module='etsi-nfv-vnfd', yang_type='string', is_config=True)

23846 except (TypeError, ValueError):

23847 raise ValueError({

23848 'error-string': """id must be of a type compatible with string""",

23849 'defined-type': "string",

23850 'generated-type': """YANGDynClass(base=str, is_leaf=True, yang_name="id", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, is_keyval=True, namespace='urn:etsi:nfv:yang:etsi-nfv-vnfd', defining_module='etsi-nfv-vnfd', yang_type='string', is_config=True)""",

23851 })

23852

23853 self.__id = t

23854 if hasattr(self, '_set'):

23855 self._set()

23856

23857 def _unset_id(self):

23858 self.__id = YANGDynClass(base=str, is_leaf=True, yang_name="id", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, is_keyval=True, namespace='urn:etsi:nfv:yang:etsi-nfv-vnfd', defining_module='etsi-nfv-vnfd', yang_type='string', is_config=True)

23859

23860

23861 def _get_bit_rate_requirements(self):

23862 """

23863 Getter method for bit_rate_requirements, mapped from YANG variable /vnfd/df/scaling_aspect/aspect_delta_details/deltas/virtual_link_bit_rate_delta/bit_rate_requirements (container)

23864

23865 YANG Description: Bitrate requirements for an instantiation level

23866 or bitrate delta for a scaling step.

23867 """

23868 return self.__bit_rate_requirements

23869

23870 def _set_bit_rate_requirements(self, v, load=False):

23871 """

23872 Setter method for bit_rate_requirements, mapped from YANG variable /vnfd/df/scaling_aspect/aspect_delta_details/deltas/virtual_link_bit_rate_delta/bit_rate_requirements (container)

23873 If this variable is read-only (config: false) in the

23874 source YANG file, then _set_bit_rate_requirements is considered as a private

23875 method. Backends looking to populate this variable should

23876 do so via calling thisObj._set_bit_rate_requirements() directly.

23877

23878 YANG Description: Bitrate requirements for an instantiation level

23879 or bitrate delta for a scaling step.

23880 """

23881 if hasattr(v, "_utype"):

23882 v = v._utype(v)

23883 try:

23884 t = YANGDynClass(v,base=yc_bit_rate_requirements_etsi_nfv_vnfd__vnfd_df_scaling_aspect_aspect_delta_details_deltas_virtual_link_bit_rate_delta_bit_rate_requirements, is_container='container', yang_name="bit-rate-requirements", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, extensions=None, namespace='urn:etsi:nfv:yang:etsi-nfv-vnfd', defining_module='etsi-nfv-vnfd', yang_type='container', is_config=True)

23885 except (TypeError, ValueError):

23886 raise ValueError({

23887 'error-string': """bit_rate_requirements must be of a type compatible with container""",

23888 'defined-type': "container",

23889 'generated-type': """YANGDynClass(base=yc_bit_rate_requirements_etsi_nfv_vnfd__vnfd_df_scaling_aspect_aspect_delta_details_deltas_virtual_link_bit_rate_delta_bit_rate_requirements, is_container='container', yang_name="bit-rate-requirements", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, extensions=None, namespace='urn:etsi:nfv:yang:etsi-nfv-vnfd', defining_module='etsi-nfv-vnfd', yang_type='container', is_config=True)""",

23890 })

23891

23892 self.__bit_rate_requirements = t

23893 if hasattr(self, '_set'):

23894 self._set()

23895

23896 def _unset_bit_rate_requirements(self):

23897 self.__bit_rate_requirements = YANGDynClass(base=yc_bit_rate_requirements_etsi_nfv_vnfd__vnfd_df_scaling_aspect_aspect_delta_details_deltas_virtual_link_bit_rate_delta_bit_rate_requirements, is_container='container', yang_name="bit-rate-requirements", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, extensions=None, namespace='urn:etsi:nfv:yang:etsi-nfv-vnfd', defining_module='etsi-nfv-vnfd', yang_type='container', is_config=True)

23898

23899 id = __builtin__.property(_get_id, _set_id)

23900 bit_rate_requirements = __builtin__.property(_get_bit_rate_requirements, _set_bit_rate_requirements)

23901

23902

23903 _pyangbind_elements = OrderedDict([('id', id), ('bit_rate_requirements', bit_rate_requirements), ])

23904

23905

23906 class yc_kdu_resource_delta_etsi_nfv_vnfd__vnfd_df_scaling_aspect_aspect_delta_details_deltas_kdu_resource_delta(PybindBase):

23907 """

23908 This class was auto-generated by the PythonClass plugin for PYANG

23909 from YANG module etsi-nfv-vnfd - based on the path /vnfd/df/scaling-aspect/aspect-delta-details/deltas/kdu-resource-delta. Each member element of

23910 the container is represented as a class variable - with a specific

23911 YANG type.

23912

23913 YANG Description: The number of KNFC instances based on particular

23914 KDUs to be created or removed.

23915 """

23916 __slots__ = ('_path_helper', '_extmethods', '__id','__number_of_instances',)

23917

23918 _yang_name = 'kdu-resource-delta'

23919 _yang_namespace = 'urn:etsi:nfv:yang:etsi-nfv-vnfd'

23920

23921 _pybind_generated_by = 'container'

23922

23923 def __init__(self, *args, **kwargs):

23924

23925 self._path_helper = False

23926

23927 self._extmethods = False

23928 self.__id = YANGDynClass(base=str, is_leaf=True, yang_name="id", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, is_keyval=True, namespace='urn:etsi:osm:yang:augments:scaling', defining_module='scaling', yang_type='leafref', is_config=True)

23929 self.__number_of_instances = YANGDynClass(base=RestrictedClassType(base_type=RestrictedClassType(base_type=long, restriction_dict={'range': ['0..4294967295']}, int_size=32), restriction_dict={'range': ['0..max']}), is_leaf=True, yang_name="number-of-instances", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='urn:etsi:osm:yang:augments:scaling', defining_module='scaling', yang_type='uint32', is_config=True)

23930

23931 load = kwargs.pop("load", None)

23932 if args:

23933 if len(args) > 1:

23934 raise TypeError("cannot create a YANG container with >1 argument")

23935 all_attr = True

23936 for e in self._pyangbind_elements:

23937 if not hasattr(args[0], e):

23938 all_attr = False

23939 break

23940 if not all_attr:

23941 raise ValueError("Supplied object did not have the correct attributes")

23942 for e in self._pyangbind_elements:

23943 nobj = getattr(args[0], e)

23944 if nobj._changed() is False:

23945 continue

23946 setmethod = getattr(self, "_set_%s" % e)

23947 if load is None:

23948 setmethod(getattr(args[0], e))

23949 else:

23950 setmethod(getattr(args[0], e), load=load)

23951

23952 def _path(self):

23953 if hasattr(self, "_parent"):

23954 return self._parent._path()+[self._yang_name]

23955 else:

23956 return ['vnfd', 'df', 'scaling-aspect', 'aspect-delta-details', 'deltas', 'kdu-resource-delta']

23957

23958 def _get_id(self):

23959 """

23960 Getter method for id, mapped from YANG variable /vnfd/df/scaling_aspect/aspect_delta_details/deltas/kdu_resource_delta/id (leafref)

23961

23962 YANG Description: Uniquely identifies a KDU profile.

23963 """

23964 return self.__id

23965

23966 def _set_id(self, v, load=False):

23967 """

23968 Setter method for id, mapped from YANG variable /vnfd/df/scaling_aspect/aspect_delta_details/deltas/kdu_resource_delta/id (leafref)

23969 If this variable is read-only (config: false) in the

23970 source YANG file, then _set_id is considered as a private

23971 method. Backends looking to populate this variable should

23972 do so via calling thisObj._set_id() directly.

23973

23974 YANG Description: Uniquely identifies a KDU profile.

23975 """

23976 parent = getattr(self, "_parent", None)

23977 if parent is not None and load is False:

23978 raise AttributeError("Cannot set keys directly when" +

23979 " within an instantiated list")

23980

23981 if hasattr(v, "_utype"):

23982 v = v._utype(v)

23983 try:

23984 t = YANGDynClass(v,base=str, is_leaf=True, yang_name="id", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, is_keyval=True, namespace='urn:etsi:osm:yang:augments:scaling', defining_module='scaling', yang_type='leafref', is_config=True)

23985 except (TypeError, ValueError):

23986 raise ValueError({

23987 'error-string': """id must be of a type compatible with leafref""",

23988 'defined-type': "leafref",

23989 'generated-type': """YANGDynClass(base=str, is_leaf=True, yang_name="id", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, is_keyval=True, namespace='urn:etsi:osm:yang:augments:scaling', defining_module='scaling', yang_type='leafref', is_config=True)""",

23990 })

23991

23992 self.__id = t

23993 if hasattr(self, '_set'):

23994 self._set()

23995

23996 def _unset_id(self):

23997 self.__id = YANGDynClass(base=str, is_leaf=True, yang_name="id", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, is_keyval=True, namespace='urn:etsi:osm:yang:augments:scaling', defining_module='scaling', yang_type='leafref', is_config=True)

23998

23999

24000 def _get_number_of_instances(self):

24001 """

24002 Getter method for number_of_instances, mapped from YANG variable /vnfd/df/scaling_aspect/aspect_delta_details/deltas/kdu_resource_delta/number_of_instances (uint32)

24003

24004 YANG Description: Number of instances of KNFC based on this KDU to

24005 deploy for an instantiation level or for a

24006 scaling delta. Shall be zero or greater.

24007 """

24008 return self.__number_of_instances

24009

24010 def _set_number_of_instances(self, v, load=False):

24011 """

24012 Setter method for number_of_instances, mapped from YANG variable /vnfd/df/scaling_aspect/aspect_delta_details/deltas/kdu_resource_delta/number_of_instances (uint32)

24013 If this variable is read-only (config: false) in the

24014 source YANG file, then _set_number_of_instances is considered as a private

24015 method. Backends looking to populate this variable should

24016 do so via calling thisObj._set_number_of_instances() directly.

24017

24018 YANG Description: Number of instances of KNFC based on this KDU to

24019 deploy for an instantiation level or for a

24020 scaling delta. Shall be zero or greater.

24021 """

24022 if hasattr(v, "_utype"):

24023 v = v._utype(v)

24024 try:

24025 t = YANGDynClass(v,base=RestrictedClassType(base_type=RestrictedClassType(base_type=long, restriction_dict={'range': ['0..4294967295']}, int_size=32), restriction_dict={'range': ['0..max']}), is_leaf=True, yang_name="number-of-instances", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='urn:etsi:osm:yang:augments:scaling', defining_module='scaling', yang_type='uint32', is_config=True)

24026 except (TypeError, ValueError):

24027 raise ValueError({

24028 'error-string': """number_of_instances must be of a type compatible with uint32""",

24029 'defined-type': "uint32",

24030 'generated-type': """YANGDynClass(base=RestrictedClassType(base_type=RestrictedClassType(base_type=long, restriction_dict={'range': ['0..4294967295']}, int_size=32), restriction_dict={'range': ['0..max']}), is_leaf=True, yang_name="number-of-instances", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='urn:etsi:osm:yang:augments:scaling', defining_module='scaling', yang_type='uint32', is_config=True)""",

24031 })

24032

24033 self.__number_of_instances = t

24034 if hasattr(self, '_set'):

24035 self._set()

24036

24037 def _unset_number_of_instances(self):

24038 self.__number_of_instances = YANGDynClass(base=RestrictedClassType(base_type=RestrictedClassType(base_type=long, restriction_dict={'range': ['0..4294967295']}, int_size=32), restriction_dict={'range': ['0..max']}), is_leaf=True, yang_name="number-of-instances", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='urn:etsi:osm:yang:augments:scaling', defining_module='scaling', yang_type='uint32', is_config=True)

24039

24040 id = __builtin__.property(_get_id, _set_id)

24041 number_of_instances = __builtin__.property(_get_number_of_instances, _set_number_of_instances)

24042

24043

24044 _pyangbind_elements = OrderedDict([('id', id), ('number_of_instances', number_of_instances), ])

24045

24046

24047 class yc_deltas_etsi_nfv_vnfd__vnfd_df_scaling_aspect_aspect_delta_details_deltas(PybindBase):

24048 """

24049 This class was auto-generated by the PythonClass plugin for PYANG

24050 from YANG module etsi-nfv-vnfd - based on the path /vnfd/df/scaling-aspect/aspect-delta-details/deltas. Each member element of

24051 the container is represented as a class variable - with a specific

24052 YANG type.

24053

24054 YANG Description: Declares different scaling deltas, each of which is

24055 applied for one or more scaling steps of this

24056 aspect.

24057 """

24058 __slots__ = ('_path_helper', '_extmethods', '__id','__vdu_delta','__virtual_link_bit_rate_delta','__kdu_resource_delta',)

24059

24060 _yang_name = 'deltas'

24061 _yang_namespace = 'urn:etsi:nfv:yang:etsi-nfv-vnfd'

24062

24063 _pybind_generated_by = 'container'

24064

24065 def __init__(self, *args, **kwargs):

24066

24067 self._path_helper = False

24068

24069 self._extmethods = False

24070 self.__id = YANGDynClass(base=str, is_leaf=True, yang_name="id", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, is_keyval=True, namespace='urn:etsi:nfv:yang:etsi-nfv-vnfd', defining_module='etsi-nfv-vnfd', yang_type='string', is_config=True)

24071 self.__vdu_delta = YANGDynClass(base=YANGListType("id",yc_vdu_delta_etsi_nfv_vnfd__vnfd_df_scaling_aspect_aspect_delta_details_deltas_vdu_delta, yang_name="vdu-delta", parent=self, is_container='list', user_ordered=False, path_helper=self._path_helper, yang_keys='id', extensions=None), is_container='list', yang_name="vdu-delta", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, extensions=None, namespace='urn:etsi:nfv:yang:etsi-nfv-vnfd', defining_module='etsi-nfv-vnfd', yang_type='list', is_config=True)

24072 self.__virtual_link_bit_rate_delta = YANGDynClass(base=YANGListType("id",yc_virtual_link_bit_rate_delta_etsi_nfv_vnfd__vnfd_df_scaling_aspect_aspect_delta_details_deltas_virtual_link_bit_rate_delta, yang_name="virtual-link-bit-rate-delta", parent=self, is_container='list', user_ordered=False, path_helper=self._path_helper, yang_keys='id', extensions=None), is_container='list', yang_name="virtual-link-bit-rate-delta", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, extensions=None, namespace='urn:etsi:nfv:yang:etsi-nfv-vnfd', defining_module='etsi-nfv-vnfd', yang_type='list', is_config=True)

24073 self.__kdu_resource_delta = YANGDynClass(base=YANGListType("id",yc_kdu_resource_delta_etsi_nfv_vnfd__vnfd_df_scaling_aspect_aspect_delta_details_deltas_kdu_resource_delta, yang_name="kdu-resource-delta", parent=self, is_container='list', user_ordered=False, path_helper=self._path_helper, yang_keys='id', extensions=None), is_container='list', yang_name="kdu-resource-delta", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, extensions=None, namespace='urn:etsi:osm:yang:augments:scaling', defining_module='scaling', yang_type='list', is_config=True)

24074

24075 load = kwargs.pop("load", None)

24076 if args:

24077 if len(args) > 1:

24078 raise TypeError("cannot create a YANG container with >1 argument")

24079 all_attr = True

24080 for e in self._pyangbind_elements:

24081 if not hasattr(args[0], e):

24082 all_attr = False

24083 break

24084 if not all_attr:

24085 raise ValueError("Supplied object did not have the correct attributes")

24086 for e in self._pyangbind_elements:

24087 nobj = getattr(args[0], e)

24088 if nobj._changed() is False:

24089 continue

24090 setmethod = getattr(self, "_set_%s" % e)

24091 if load is None:

24092 setmethod(getattr(args[0], e))

24093 else:

24094 setmethod(getattr(args[0], e), load=load)

24095

24096 def _path(self):

24097 if hasattr(self, "_parent"):

24098 return self._parent._path()+[self._yang_name]

24099 else:

24100 return ['vnfd', 'df', 'scaling-aspect', 'aspect-delta-details', 'deltas']

24101

24102 def _get_id(self):

24103 """

24104 Getter method for id, mapped from YANG variable /vnfd/df/scaling_aspect/aspect_delta_details/deltas/id (string)

24105

24106 YANG Description: Identifier of this scaling delta.

24107 """

24108 return self.__id

24109

24110 def _set_id(self, v, load=False):

24111 """

24112 Setter method for id, mapped from YANG variable /vnfd/df/scaling_aspect/aspect_delta_details/deltas/id (string)

24113 If this variable is read-only (config: false) in the

24114 source YANG file, then _set_id is considered as a private

24115 method. Backends looking to populate this variable should

24116 do so via calling thisObj._set_id() directly.

24117

24118 YANG Description: Identifier of this scaling delta.

24119 """

24120 parent = getattr(self, "_parent", None)

24121 if parent is not None and load is False:

24122 raise AttributeError("Cannot set keys directly when" +

24123 " within an instantiated list")

24124

24125 if hasattr(v, "_utype"):

24126 v = v._utype(v)

24127 try:

24128 t = YANGDynClass(v,base=str, is_leaf=True, yang_name="id", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, is_keyval=True, namespace='urn:etsi:nfv:yang:etsi-nfv-vnfd', defining_module='etsi-nfv-vnfd', yang_type='string', is_config=True)

24129 except (TypeError, ValueError):

24130 raise ValueError({

24131 'error-string': """id must be of a type compatible with string""",

24132 'defined-type': "string",

24133 'generated-type': """YANGDynClass(base=str, is_leaf=True, yang_name="id", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, is_keyval=True, namespace='urn:etsi:nfv:yang:etsi-nfv-vnfd', defining_module='etsi-nfv-vnfd', yang_type='string', is_config=True)""",

24134 })

24135

24136 self.__id = t

24137 if hasattr(self, '_set'):

24138 self._set()

24139

24140 def _unset_id(self):

24141 self.__id = YANGDynClass(base=str, is_leaf=True, yang_name="id", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, is_keyval=True, namespace='urn:etsi:nfv:yang:etsi-nfv-vnfd', defining_module='etsi-nfv-vnfd', yang_type='string', is_config=True)

24142

24143

24144 def _get_vdu_delta(self):

24145 """

24146 Getter method for vdu_delta, mapped from YANG variable /vnfd/df/scaling_aspect/aspect_delta_details/deltas/vdu_delta (list)

24147

24148 YANG Description: The number of VNFC instances based on particular

24149 VDUs to be created or removed.

24150 """

24151 return self.__vdu_delta

24152

24153 def _set_vdu_delta(self, v, load=False):

24154 """

24155 Setter method for vdu_delta, mapped from YANG variable /vnfd/df/scaling_aspect/aspect_delta_details/deltas/vdu_delta (list)

24156 If this variable is read-only (config: false) in the

24157 source YANG file, then _set_vdu_delta is considered as a private

24158 method. Backends looking to populate this variable should

24159 do so via calling thisObj._set_vdu_delta() directly.

24160

24161 YANG Description: The number of VNFC instances based on particular

24162 VDUs to be created or removed.

24163 """

24164 if hasattr(v, "_utype"):

24165 v = v._utype(v)

24166 try:

24167 t = YANGDynClass(v,base=YANGListType("id",yc_vdu_delta_etsi_nfv_vnfd__vnfd_df_scaling_aspect_aspect_delta_details_deltas_vdu_delta, yang_name="vdu-delta", parent=self, is_container='list', user_ordered=False, path_helper=self._path_helper, yang_keys='id', extensions=None), is_container='list', yang_name="vdu-delta", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, extensions=None, namespace='urn:etsi:nfv:yang:etsi-nfv-vnfd', defining_module='etsi-nfv-vnfd', yang_type='list', is_config=True)

24168 except (TypeError, ValueError):

24169 raise ValueError({

24170 'error-string': """vdu_delta must be of a type compatible with list""",

24171 'defined-type': "list",

24172 'generated-type': """YANGDynClass(base=YANGListType("id",yc_vdu_delta_etsi_nfv_vnfd__vnfd_df_scaling_aspect_aspect_delta_details_deltas_vdu_delta, yang_name="vdu-delta", parent=self, is_container='list', user_ordered=False, path_helper=self._path_helper, yang_keys='id', extensions=None), is_container='list', yang_name="vdu-delta", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, extensions=None, namespace='urn:etsi:nfv:yang:etsi-nfv-vnfd', defining_module='etsi-nfv-vnfd', yang_type='list', is_config=True)""",

24173 })

24174

24175 self.__vdu_delta = t

24176 if hasattr(self, '_set'):

24177 self._set()

24178

24179 def _unset_vdu_delta(self):

24180 self.__vdu_delta = YANGDynClass(base=YANGListType("id",yc_vdu_delta_etsi_nfv_vnfd__vnfd_df_scaling_aspect_aspect_delta_details_deltas_vdu_delta, yang_name="vdu-delta", parent=self, is_container='list', user_ordered=False, path_helper=self._path_helper, yang_keys='id', extensions=None), is_container='list', yang_name="vdu-delta", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, extensions=None, namespace='urn:etsi:nfv:yang:etsi-nfv-vnfd', defining_module='etsi-nfv-vnfd', yang_type='list', is_config=True)

24181

24182

24183 def _get_virtual_link_bit_rate_delta(self):

24184 """

24185 Getter method for virtual_link_bit_rate_delta, mapped from YANG variable /vnfd/df/scaling_aspect/aspect_delta_details/deltas/virtual_link_bit_rate_delta (list)

24186

24187 YANG Description: The bitrate to be added or removed to virtual links

24188 created from particular virtual link descriptors.

24189 """

24190 return self.__virtual_link_bit_rate_delta

24191

24192 def _set_virtual_link_bit_rate_delta(self, v, load=False):

24193 """

24194 Setter method for virtual_link_bit_rate_delta, mapped from YANG variable /vnfd/df/scaling_aspect/aspect_delta_details/deltas/virtual_link_bit_rate_delta (list)

24195 If this variable is read-only (config: false) in the

24196 source YANG file, then _set_virtual_link_bit_rate_delta is considered as a private

24197 method. Backends looking to populate this variable should

24198 do so via calling thisObj._set_virtual_link_bit_rate_delta() directly.

24199

24200 YANG Description: The bitrate to be added or removed to virtual links

24201 created from particular virtual link descriptors.

24202 """

24203 if hasattr(v, "_utype"):

24204 v = v._utype(v)

24205 try:

24206 t = YANGDynClass(v,base=YANGListType("id",yc_virtual_link_bit_rate_delta_etsi_nfv_vnfd__vnfd_df_scaling_aspect_aspect_delta_details_deltas_virtual_link_bit_rate_delta, yang_name="virtual-link-bit-rate-delta", parent=self, is_container='list', user_ordered=False, path_helper=self._path_helper, yang_keys='id', extensions=None), is_container='list', yang_name="virtual-link-bit-rate-delta", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, extensions=None, namespace='urn:etsi:nfv:yang:etsi-nfv-vnfd', defining_module='etsi-nfv-vnfd', yang_type='list', is_config=True)

24207 except (TypeError, ValueError):

24208 raise ValueError({

24209 'error-string': """virtual_link_bit_rate_delta must be of a type compatible with list""",

24210 'defined-type': "list",

24211 'generated-type': """YANGDynClass(base=YANGListType("id",yc_virtual_link_bit_rate_delta_etsi_nfv_vnfd__vnfd_df_scaling_aspect_aspect_delta_details_deltas_virtual_link_bit_rate_delta, yang_name="virtual-link-bit-rate-delta", parent=self, is_container='list', user_ordered=False, path_helper=self._path_helper, yang_keys='id', extensions=None), is_container='list', yang_name="virtual-link-bit-rate-delta", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, extensions=None, namespace='urn:etsi:nfv:yang:etsi-nfv-vnfd', defining_module='etsi-nfv-vnfd', yang_type='list', is_config=True)""",

24212 })

24213

24214 self.__virtual_link_bit_rate_delta = t

24215 if hasattr(self, '_set'):

24216 self._set()

24217

24218 def _unset_virtual_link_bit_rate_delta(self):

24219 self.__virtual_link_bit_rate_delta = YANGDynClass(base=YANGListType("id",yc_virtual_link_bit_rate_delta_etsi_nfv_vnfd__vnfd_df_scaling_aspect_aspect_delta_details_deltas_virtual_link_bit_rate_delta, yang_name="virtual-link-bit-rate-delta", parent=self, is_container='list', user_ordered=False, path_helper=self._path_helper, yang_keys='id', extensions=None), is_container='list', yang_name="virtual-link-bit-rate-delta", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, extensions=None, namespace='urn:etsi:nfv:yang:etsi-nfv-vnfd', defining_module='etsi-nfv-vnfd', yang_type='list', is_config=True)

24220

24221

24222 def _get_kdu_resource_delta(self):

24223 """

24224 Getter method for kdu_resource_delta, mapped from YANG variable /vnfd/df/scaling_aspect/aspect_delta_details/deltas/kdu_resource_delta (list)

24225

24226 YANG Description: The number of KNFC instances based on particular

24227 KDUs to be created or removed.

24228 """

24229 return self.__kdu_resource_delta

24230

24231 def _set_kdu_resource_delta(self, v, load=False):

24232 """

24233 Setter method for kdu_resource_delta, mapped from YANG variable /vnfd/df/scaling_aspect/aspect_delta_details/deltas/kdu_resource_delta (list)

24234 If this variable is read-only (config: false) in the

24235 source YANG file, then _set_kdu_resource_delta is considered as a private

24236 method. Backends looking to populate this variable should

24237 do so via calling thisObj._set_kdu_resource_delta() directly.

24238

24239 YANG Description: The number of KNFC instances based on particular

24240 KDUs to be created or removed.

24241 """

24242 if hasattr(v, "_utype"):

24243 v = v._utype(v)

24244 try:

24245 t = YANGDynClass(v,base=YANGListType("id",yc_kdu_resource_delta_etsi_nfv_vnfd__vnfd_df_scaling_aspect_aspect_delta_details_deltas_kdu_resource_delta, yang_name="kdu-resource-delta", parent=self, is_container='list', user_ordered=False, path_helper=self._path_helper, yang_keys='id', extensions=None), is_container='list', yang_name="kdu-resource-delta", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, extensions=None, namespace='urn:etsi:osm:yang:augments:scaling', defining_module='scaling', yang_type='list', is_config=True)

24246 except (TypeError, ValueError):

24247 raise ValueError({

24248 'error-string': """kdu_resource_delta must be of a type compatible with list""",

24249 'defined-type': "list",

24250 'generated-type': """YANGDynClass(base=YANGListType("id",yc_kdu_resource_delta_etsi_nfv_vnfd__vnfd_df_scaling_aspect_aspect_delta_details_deltas_kdu_resource_delta, yang_name="kdu-resource-delta", parent=self, is_container='list', user_ordered=False, path_helper=self._path_helper, yang_keys='id', extensions=None), is_container='list', yang_name="kdu-resource-delta", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, extensions=None, namespace='urn:etsi:osm:yang:augments:scaling', defining_module='scaling', yang_type='list', is_config=True)""",

24251 })

24252

24253 self.__kdu_resource_delta = t

24254 if hasattr(self, '_set'):

24255 self._set()

24256

24257 def _unset_kdu_resource_delta(self):

24258 self.__kdu_resource_delta = YANGDynClass(base=YANGListType("id",yc_kdu_resource_delta_etsi_nfv_vnfd__vnfd_df_scaling_aspect_aspect_delta_details_deltas_kdu_resource_delta, yang_name="kdu-resource-delta", parent=self, is_container='list', user_ordered=False, path_helper=self._path_helper, yang_keys='id', extensions=None), is_container='list', yang_name="kdu-resource-delta", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, extensions=None, namespace='urn:etsi:osm:yang:augments:scaling', defining_module='scaling', yang_type='list', is_config=True)

24259

24260 id = __builtin__.property(_get_id, _set_id)

24261 vdu_delta = __builtin__.property(_get_vdu_delta, _set_vdu_delta)

24262 virtual_link_bit_rate_delta = __builtin__.property(_get_virtual_link_bit_rate_delta, _set_virtual_link_bit_rate_delta)

24263 kdu_resource_delta = __builtin__.property(_get_kdu_resource_delta, _set_kdu_resource_delta)

24264

24265

24266 _pyangbind_elements = OrderedDict([('id', id), ('vdu_delta', vdu_delta), ('virtual_link_bit_rate_delta', virtual_link_bit_rate_delta), ('kdu_resource_delta', kdu_resource_delta), ])

24267

24268

24269 class yc_aspect_delta_details_etsi_nfv_vnfd__vnfd_df_scaling_aspect_aspect_delta_details(PybindBase):

24270 """

24271 This class was auto-generated by the PythonClass plugin for PYANG

24272 from YANG module etsi-nfv-vnfd - based on the path /vnfd/df/scaling-aspect/aspect-delta-details. Each member element of

24273 the container is represented as a class variable - with a specific

24274 YANG type.

24275

24276 YANG Description: A specification of the deltas in terms of number of

24277 instances of VNFCs and virtual link bit rates that

24278 correspond to the scaling steps of this aspect. A

24279 cardinality of zero indicates that this mapping has to

24280 be specified in a lifecycle management script or be

24281 otherwise known to the VNFM. The information in this

24282 attribute, if provided, shall be consistent with the

24283 information provided in the 'InstantiationLevel'

24284 information element. If this attribute is provided, it

24285 shall be provided for all scaling aspects.

24286 """

24287 __slots__ = ('_path_helper', '_extmethods', '__deltas','__step_deltas',)

24288

24289 _yang_name = 'aspect-delta-details'

24290 _yang_namespace = 'urn:etsi:nfv:yang:etsi-nfv-vnfd'

24291

24292 _pybind_generated_by = 'container'

24293

24294 def __init__(self, *args, **kwargs):

24295

24296 self._path_helper = False

24297

24298 self._extmethods = False

24299 self.__deltas = YANGDynClass(base=YANGListType("id",yc_deltas_etsi_nfv_vnfd__vnfd_df_scaling_aspect_aspect_delta_details_deltas, yang_name="deltas", parent=self, is_container='list', user_ordered=False, path_helper=self._path_helper, yang_keys='id', extensions=None), is_container='list', yang_name="deltas", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, extensions=None, namespace='urn:etsi:nfv:yang:etsi-nfv-vnfd', defining_module='etsi-nfv-vnfd', yang_type='list', is_config=True)

24300 self.__step_deltas = YANGDynClass(base=str, is_leaf=True, yang_name="step-deltas", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='urn:etsi:nfv:yang:etsi-nfv-vnfd', defining_module='etsi-nfv-vnfd', yang_type='leafref', is_config=True)

24301

24302 load = kwargs.pop("load", None)

24303 if args:

24304 if len(args) > 1:

24305 raise TypeError("cannot create a YANG container with >1 argument")

24306 all_attr = True

24307 for e in self._pyangbind_elements:

24308 if not hasattr(args[0], e):

24309 all_attr = False

24310 break

24311 if not all_attr:

24312 raise ValueError("Supplied object did not have the correct attributes")

24313 for e in self._pyangbind_elements:

24314 nobj = getattr(args[0], e)

24315 if nobj._changed() is False:

24316 continue

24317 setmethod = getattr(self, "_set_%s" % e)

24318 if load is None:

24319 setmethod(getattr(args[0], e))

24320 else:

24321 setmethod(getattr(args[0], e), load=load)

24322

24323 def _path(self):

24324 if hasattr(self, "_parent"):

24325 return self._parent._path()+[self._yang_name]

24326 else:

24327 return ['vnfd', 'df', 'scaling-aspect', 'aspect-delta-details']

24328

24329 def _get_deltas(self):

24330 """

24331 Getter method for deltas, mapped from YANG variable /vnfd/df/scaling_aspect/aspect_delta_details/deltas (list)

24332

24333 YANG Description: Declares different scaling deltas, each of which is

24334 applied for one or more scaling steps of this

24335 aspect.

24336 """

24337 return self.__deltas

24338

24339 def _set_deltas(self, v, load=False):

24340 """

24341 Setter method for deltas, mapped from YANG variable /vnfd/df/scaling_aspect/aspect_delta_details/deltas (list)

24342 If this variable is read-only (config: false) in the

24343 source YANG file, then _set_deltas is considered as a private

24344 method. Backends looking to populate this variable should

24345 do so via calling thisObj._set_deltas() directly.

24346

24347 YANG Description: Declares different scaling deltas, each of which is

24348 applied for one or more scaling steps of this

24349 aspect.

24350 """

24351 if hasattr(v, "_utype"):

24352 v = v._utype(v)

24353 try:

24354 t = YANGDynClass(v,base=YANGListType("id",yc_deltas_etsi_nfv_vnfd__vnfd_df_scaling_aspect_aspect_delta_details_deltas, yang_name="deltas", parent=self, is_container='list', user_ordered=False, path_helper=self._path_helper, yang_keys='id', extensions=None), is_container='list', yang_name="deltas", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, extensions=None, namespace='urn:etsi:nfv:yang:etsi-nfv-vnfd', defining_module='etsi-nfv-vnfd', yang_type='list', is_config=True)

24355 except (TypeError, ValueError):

24356 raise ValueError({

24357 'error-string': """deltas must be of a type compatible with list""",

24358 'defined-type': "list",

24359 'generated-type': """YANGDynClass(base=YANGListType("id",yc_deltas_etsi_nfv_vnfd__vnfd_df_scaling_aspect_aspect_delta_details_deltas, yang_name="deltas", parent=self, is_container='list', user_ordered=False, path_helper=self._path_helper, yang_keys='id', extensions=None), is_container='list', yang_name="deltas", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, extensions=None, namespace='urn:etsi:nfv:yang:etsi-nfv-vnfd', defining_module='etsi-nfv-vnfd', yang_type='list', is_config=True)""",

24360 })

24361

24362 self.__deltas = t

24363 if hasattr(self, '_set'):

24364 self._set()

24365

24366 def _unset_deltas(self):

24367 self.__deltas = YANGDynClass(base=YANGListType("id",yc_deltas_etsi_nfv_vnfd__vnfd_df_scaling_aspect_aspect_delta_details_deltas, yang_name="deltas", parent=self, is_container='list', user_ordered=False, path_helper=self._path_helper, yang_keys='id', extensions=None), is_container='list', yang_name="deltas", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, extensions=None, namespace='urn:etsi:nfv:yang:etsi-nfv-vnfd', defining_module='etsi-nfv-vnfd', yang_type='list', is_config=True)

24368

24369

24370 def _get_step_deltas(self):

24371 """

24372 Getter method for step_deltas, mapped from YANG variable /vnfd/df/scaling_aspect/aspect_delta_details/step_deltas (leafref)

24373

24374 YANG Description: Identifiers of the individual scaling deltas to be

24375 applied for the subsequent scaling steps of this

24376 aspect. The first entry in the array shall correspond

24377 to the first scaling step (between scale levels 0 to

24378 1) and the last entry in the array shall correspond

24379 to the last scaling step (between maxScaleLevel-1

24380 and maxScaleLevel).

24381

24382 Each referenced scaling delta shall be declared in

24383 the 'deltas' attribute.

24384 """

24385 return self.__step_deltas

24386

24387 def _set_step_deltas(self, v, load=False):

24388 """

24389 Setter method for step_deltas, mapped from YANG variable /vnfd/df/scaling_aspect/aspect_delta_details/step_deltas (leafref)

24390 If this variable is read-only (config: false) in the

24391 source YANG file, then _set_step_deltas is considered as a private

24392 method. Backends looking to populate this variable should

24393 do so via calling thisObj._set_step_deltas() directly.

24394

24395 YANG Description: Identifiers of the individual scaling deltas to be

24396 applied for the subsequent scaling steps of this

24397 aspect. The first entry in the array shall correspond

24398 to the first scaling step (between scale levels 0 to

24399 1) and the last entry in the array shall correspond

24400 to the last scaling step (between maxScaleLevel-1

24401 and maxScaleLevel).

24402

24403 Each referenced scaling delta shall be declared in

24404 the 'deltas' attribute.

24405 """

24406 if hasattr(v, "_utype"):

24407 v = v._utype(v)

24408 try:

24409 t = YANGDynClass(v,base=str, is_leaf=True, yang_name="step-deltas", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='urn:etsi:nfv:yang:etsi-nfv-vnfd', defining_module='etsi-nfv-vnfd', yang_type='leafref', is_config=True)

24410 except (TypeError, ValueError):

24411 raise ValueError({

24412 'error-string': """step_deltas must be of a type compatible with leafref""",

24413 'defined-type': "leafref",

24414 'generated-type': """YANGDynClass(base=str, is_leaf=True, yang_name="step-deltas", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='urn:etsi:nfv:yang:etsi-nfv-vnfd', defining_module='etsi-nfv-vnfd', yang_type='leafref', is_config=True)""",

24415 })

24416

24417 self.__step_deltas = t

24418 if hasattr(self, '_set'):

24419 self._set()

24420

24421 def _unset_step_deltas(self):

24422 self.__step_deltas = YANGDynClass(base=str, is_leaf=True, yang_name="step-deltas", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='urn:etsi:nfv:yang:etsi-nfv-vnfd', defining_module='etsi-nfv-vnfd', yang_type='leafref', is_config=True)

24423

24424 deltas = __builtin__.property(_get_deltas, _set_deltas)

24425 step_deltas = __builtin__.property(_get_step_deltas, _set_step_deltas)

24426

24427

24428 _pyangbind_elements = OrderedDict([('deltas', deltas), ('step_deltas', step_deltas), ])

24429

24430

24431 class yc_scaling_criteria_etsi_nfv_vnfd__vnfd_df_scaling_aspect_scaling_policy_scaling_criteria(PybindBase):

24432 """

24433 This class was auto-generated by the PythonClass plugin for PYANG

24434 from YANG module etsi-nfv-vnfd - based on the path /vnfd/df/scaling-aspect/scaling-policy/scaling-criteria. Each member element of

24435 the container is represented as a class variable - with a specific

24436 YANG type.

24437

24438 YANG Description: list of conditions to be met for generating scaling

24439 requests

24440 """

24441 __slots__ = ('_path_helper', '_extmethods', '__name','__scale_in_threshold','__scale_in_relational_operation','__scale_out_threshold','__scale_out_relational_operation','__vnf_monitoring_param_ref',)

24442

24443 _yang_name = 'scaling-criteria'

24444 _yang_namespace = 'urn:etsi:nfv:yang:etsi-nfv-vnfd'

24445

24446 _pybind_generated_by = 'container'

24447

24448 def __init__(self, *args, **kwargs):

24449

24450 self._path_helper = False

24451

24452 self._extmethods = False

24453 self.__name = YANGDynClass(base=str, is_leaf=True, yang_name="name", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, is_keyval=True, namespace='urn:etsi:osm:yang:augments:scaling', defining_module='scaling', yang_type='string', is_config=True)

24454 self.__scale_in_threshold = YANGDynClass(base=RestrictedPrecisionDecimalType(precision=10), is_leaf=True, yang_name="scale-in-threshold", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='urn:etsi:osm:yang:augments:scaling', defining_module='scaling', yang_type='decimal64', is_config=True)

24455 self.__scale_in_relational_operation = YANGDynClass(base=RestrictedClassType(base_type=str, restriction_type="dict_key", restriction_arg={'GE': {}, 'LE': {}, 'GT': {}, 'LT': {}, 'EQ': {}, 'NE': {}},), default=str("LE"), is_leaf=True, yang_name="scale-in-relational-operation", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='urn:etsi:osm:yang:augments:scaling', defining_module='scaling', yang_type='common:relational-operation-type', is_config=True)

24456 self.__scale_out_threshold = YANGDynClass(base=RestrictedPrecisionDecimalType(precision=10), is_leaf=True, yang_name="scale-out-threshold", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='urn:etsi:osm:yang:augments:scaling', defining_module='scaling', yang_type='decimal64', is_config=True)

24457 self.__scale_out_relational_operation = YANGDynClass(base=RestrictedClassType(base_type=str, restriction_type="dict_key", restriction_arg={'GE': {}, 'LE': {}, 'GT': {}, 'LT': {}, 'EQ': {}, 'NE': {}},), default=str("GE"), is_leaf=True, yang_name="scale-out-relational-operation", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='urn:etsi:osm:yang:augments:scaling', defining_module='scaling', yang_type='common:relational-operation-type', is_config=True)

24458 self.__vnf_monitoring_param_ref = YANGDynClass(base=str, is_leaf=True, yang_name="vnf-monitoring-param-ref", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='urn:etsi:osm:yang:augments:scaling', defining_module='scaling', yang_type='string', is_config=True)

24459

24460 load = kwargs.pop("load", None)

24461 if args:

24462 if len(args) > 1:

24463 raise TypeError("cannot create a YANG container with >1 argument")

24464 all_attr = True

24465 for e in self._pyangbind_elements:

24466 if not hasattr(args[0], e):

24467 all_attr = False

24468 break

24469 if not all_attr:

24470 raise ValueError("Supplied object did not have the correct attributes")

24471 for e in self._pyangbind_elements:

24472 nobj = getattr(args[0], e)

24473 if nobj._changed() is False:

24474 continue

24475 setmethod = getattr(self, "_set_%s" % e)

24476 if load is None:

24477 setmethod(getattr(args[0], e))

24478 else:

24479 setmethod(getattr(args[0], e), load=load)

24480

24481 def _path(self):

24482 if hasattr(self, "_parent"):

24483 return self._parent._path()+[self._yang_name]

24484 else:

24485 return ['vnfd', 'df', 'scaling-aspect', 'scaling-policy', 'scaling-criteria']

24486

24487 def _get_name(self):

24488 """

24489 Getter method for name, mapped from YANG variable /vnfd/df/scaling_aspect/scaling_policy/scaling_criteria/name (string)

24490 """

24491 return self.__name

24492

24493 def _set_name(self, v, load=False):

24494 """

24495 Setter method for name, mapped from YANG variable /vnfd/df/scaling_aspect/scaling_policy/scaling_criteria/name (string)

24496 If this variable is read-only (config: false) in the

24497 source YANG file, then _set_name is considered as a private

24498 method. Backends looking to populate this variable should

24499 do so via calling thisObj._set_name() directly.

24500 """

24501 parent = getattr(self, "_parent", None)

24502 if parent is not None and load is False:

24503 raise AttributeError("Cannot set keys directly when" +

24504 " within an instantiated list")

24505

24506 if hasattr(v, "_utype"):

24507 v = v._utype(v)

24508 try:

24509 t = YANGDynClass(v,base=str, is_leaf=True, yang_name="name", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, is_keyval=True, namespace='urn:etsi:osm:yang:augments:scaling', defining_module='scaling', yang_type='string', is_config=True)

24510 except (TypeError, ValueError):

24511 raise ValueError({

24512 'error-string': """name must be of a type compatible with string""",

24513 'defined-type': "string",

24514 'generated-type': """YANGDynClass(base=str, is_leaf=True, yang_name="name", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, is_keyval=True, namespace='urn:etsi:osm:yang:augments:scaling', defining_module='scaling', yang_type='string', is_config=True)""",

24515 })

24516

24517 self.__name = t

24518 if hasattr(self, '_set'):

24519 self._set()

24520

24521 def _unset_name(self):

24522 self.__name = YANGDynClass(base=str, is_leaf=True, yang_name="name", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, is_keyval=True, namespace='urn:etsi:osm:yang:augments:scaling', defining_module='scaling', yang_type='string', is_config=True)

24523

24524

24525 def _get_scale_in_threshold(self):

24526 """

24527 Getter method for scale_in_threshold, mapped from YANG variable /vnfd/df/scaling_aspect/scaling_policy/scaling_criteria/scale_in_threshold (decimal64)

24528

24529 YANG Description: Value below which scale-in requests are generated

24530 """

24531 return self.__scale_in_threshold

24532

24533 def _set_scale_in_threshold(self, v, load=False):

24534 """

24535 Setter method for scale_in_threshold, mapped from YANG variable /vnfd/df/scaling_aspect/scaling_policy/scaling_criteria/scale_in_threshold (decimal64)

24536 If this variable is read-only (config: false) in the

24537 source YANG file, then _set_scale_in_threshold is considered as a private

24538 method. Backends looking to populate this variable should

24539 do so via calling thisObj._set_scale_in_threshold() directly.

24540

24541 YANG Description: Value below which scale-in requests are generated

24542 """

24543 if hasattr(v, "_utype"):

24544 v = v._utype(v)

24545 try:

24546 t = YANGDynClass(v,base=RestrictedPrecisionDecimalType(precision=10), is_leaf=True, yang_name="scale-in-threshold", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='urn:etsi:osm:yang:augments:scaling', defining_module='scaling', yang_type='decimal64', is_config=True)

24547 except (TypeError, ValueError):

24548 raise ValueError({

24549 'error-string': """scale_in_threshold must be of a type compatible with decimal64""",

24550 'defined-type': "decimal64",

24551 'generated-type': """YANGDynClass(base=RestrictedPrecisionDecimalType(precision=10), is_leaf=True, yang_name="scale-in-threshold", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='urn:etsi:osm:yang:augments:scaling', defining_module='scaling', yang_type='decimal64', is_config=True)""",

24552 })

24553

24554 self.__scale_in_threshold = t

24555 if hasattr(self, '_set'):

24556 self._set()

24557

24558 def _unset_scale_in_threshold(self):

24559 self.__scale_in_threshold = YANGDynClass(base=RestrictedPrecisionDecimalType(precision=10), is_leaf=True, yang_name="scale-in-threshold", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='urn:etsi:osm:yang:augments:scaling', defining_module='scaling', yang_type='decimal64', is_config=True)

24560

24561

24562 def _get_scale_in_relational_operation(self):

24563 """

24564 Getter method for scale_in_relational_operation, mapped from YANG variable /vnfd/df/scaling_aspect/scaling_policy/scaling_criteria/scale_in_relational_operation (common:relational-operation-type)

24565

24566 YANG Description: The relational operator used to compare the monitoring param

24567 against the scale-in-threshold.

24568 """

24569 return self.__scale_in_relational_operation

24570

24571 def _set_scale_in_relational_operation(self, v, load=False):

24572 """

24573 Setter method for scale_in_relational_operation, mapped from YANG variable /vnfd/df/scaling_aspect/scaling_policy/scaling_criteria/scale_in_relational_operation (common:relational-operation-type)

24574 If this variable is read-only (config: false) in the

24575 source YANG file, then _set_scale_in_relational_operation is considered as a private

24576 method. Backends looking to populate this variable should

24577 do so via calling thisObj._set_scale_in_relational_operation() directly.

24578

24579 YANG Description: The relational operator used to compare the monitoring param

24580 against the scale-in-threshold.

24581 """

24582 if hasattr(v, "_utype"):

24583 v = v._utype(v)

24584 try:

24585 t = YANGDynClass(v,base=RestrictedClassType(base_type=str, restriction_type="dict_key", restriction_arg={'GE': {}, 'LE': {}, 'GT': {}, 'LT': {}, 'EQ': {}, 'NE': {}},), default=str("LE"), is_leaf=True, yang_name="scale-in-relational-operation", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='urn:etsi:osm:yang:augments:scaling', defining_module='scaling', yang_type='common:relational-operation-type', is_config=True)

24586 except (TypeError, ValueError):

24587 raise ValueError({

24588 'error-string': """scale_in_relational_operation must be of a type compatible with common:relational-operation-type""",

24589 'defined-type': "common:relational-operation-type",

24590 'generated-type': """YANGDynClass(base=RestrictedClassType(base_type=str, restriction_type="dict_key", restriction_arg={'GE': {}, 'LE': {}, 'GT': {}, 'LT': {}, 'EQ': {}, 'NE': {}},), default=str("LE"), is_leaf=True, yang_name="scale-in-relational-operation", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='urn:etsi:osm:yang:augments:scaling', defining_module='scaling', yang_type='common:relational-operation-type', is_config=True)""",

24591 })

24592

24593 self.__scale_in_relational_operation = t

24594 if hasattr(self, '_set'):

24595 self._set()

24596

24597 def _unset_scale_in_relational_operation(self):

24598 self.__scale_in_relational_operation = YANGDynClass(base=RestrictedClassType(base_type=str, restriction_type="dict_key", restriction_arg={'GE': {}, 'LE': {}, 'GT': {}, 'LT': {}, 'EQ': {}, 'NE': {}},), default=str("LE"), is_leaf=True, yang_name="scale-in-relational-operation", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='urn:etsi:osm:yang:augments:scaling', defining_module='scaling', yang_type='common:relational-operation-type', is_config=True)

24599

24600

24601 def _get_scale_out_threshold(self):

24602 """

24603 Getter method for scale_out_threshold, mapped from YANG variable /vnfd/df/scaling_aspect/scaling_policy/scaling_criteria/scale_out_threshold (decimal64)

24604

24605 YANG Description: Value above which scale-out requests are generated

24606 """

24607 return self.__scale_out_threshold

24608

24609 def _set_scale_out_threshold(self, v, load=False):

24610 """

24611 Setter method for scale_out_threshold, mapped from YANG variable /vnfd/df/scaling_aspect/scaling_policy/scaling_criteria/scale_out_threshold (decimal64)

24612 If this variable is read-only (config: false) in the

24613 source YANG file, then _set_scale_out_threshold is considered as a private

24614 method. Backends looking to populate this variable should

24615 do so via calling thisObj._set_scale_out_threshold() directly.

24616

24617 YANG Description: Value above which scale-out requests are generated

24618 """

24619 if hasattr(v, "_utype"):

24620 v = v._utype(v)

24621 try:

24622 t = YANGDynClass(v,base=RestrictedPrecisionDecimalType(precision=10), is_leaf=True, yang_name="scale-out-threshold", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='urn:etsi:osm:yang:augments:scaling', defining_module='scaling', yang_type='decimal64', is_config=True)

24623 except (TypeError, ValueError):

24624 raise ValueError({

24625 'error-string': """scale_out_threshold must be of a type compatible with decimal64""",

24626 'defined-type': "decimal64",

24627 'generated-type': """YANGDynClass(base=RestrictedPrecisionDecimalType(precision=10), is_leaf=True, yang_name="scale-out-threshold", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='urn:etsi:osm:yang:augments:scaling', defining_module='scaling', yang_type='decimal64', is_config=True)""",

24628 })

24629

24630 self.__scale_out_threshold = t

24631 if hasattr(self, '_set'):

24632 self._set()

24633

24634 def _unset_scale_out_threshold(self):

24635 self.__scale_out_threshold = YANGDynClass(base=RestrictedPrecisionDecimalType(precision=10), is_leaf=True, yang_name="scale-out-threshold", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='urn:etsi:osm:yang:augments:scaling', defining_module='scaling', yang_type='decimal64', is_config=True)

24636

24637

24638 def _get_scale_out_relational_operation(self):

24639 """

24640 Getter method for scale_out_relational_operation, mapped from YANG variable /vnfd/df/scaling_aspect/scaling_policy/scaling_criteria/scale_out_relational_operation (common:relational-operation-type)

24641

24642 YANG Description: The relational operator used to compare the monitoring param

24643 against the scale-out-threshold.

24644 """

24645 return self.__scale_out_relational_operation

24646

24647 def _set_scale_out_relational_operation(self, v, load=False):

24648 """

24649 Setter method for scale_out_relational_operation, mapped from YANG variable /vnfd/df/scaling_aspect/scaling_policy/scaling_criteria/scale_out_relational_operation (common:relational-operation-type)

24650 If this variable is read-only (config: false) in the

24651 source YANG file, then _set_scale_out_relational_operation is considered as a private

24652 method. Backends looking to populate this variable should

24653 do so via calling thisObj._set_scale_out_relational_operation() directly.

24654

24655 YANG Description: The relational operator used to compare the monitoring param

24656 against the scale-out-threshold.

24657 """

24658 if hasattr(v, "_utype"):

24659 v = v._utype(v)

24660 try:

24661 t = YANGDynClass(v,base=RestrictedClassType(base_type=str, restriction_type="dict_key", restriction_arg={'GE': {}, 'LE': {}, 'GT': {}, 'LT': {}, 'EQ': {}, 'NE': {}},), default=str("GE"), is_leaf=True, yang_name="scale-out-relational-operation", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='urn:etsi:osm:yang:augments:scaling', defining_module='scaling', yang_type='common:relational-operation-type', is_config=True)

24662 except (TypeError, ValueError):

24663 raise ValueError({

24664 'error-string': """scale_out_relational_operation must be of a type compatible with common:relational-operation-type""",

24665 'defined-type': "common:relational-operation-type",

24666 'generated-type': """YANGDynClass(base=RestrictedClassType(base_type=str, restriction_type="dict_key", restriction_arg={'GE': {}, 'LE': {}, 'GT': {}, 'LT': {}, 'EQ': {}, 'NE': {}},), default=str("GE"), is_leaf=True, yang_name="scale-out-relational-operation", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='urn:etsi:osm:yang:augments:scaling', defining_module='scaling', yang_type='common:relational-operation-type', is_config=True)""",

24667 })

24668

24669 self.__scale_out_relational_operation = t

24670 if hasattr(self, '_set'):

24671 self._set()

24672

24673 def _unset_scale_out_relational_operation(self):

24674 self.__scale_out_relational_operation = YANGDynClass(base=RestrictedClassType(base_type=str, restriction_type="dict_key", restriction_arg={'GE': {}, 'LE': {}, 'GT': {}, 'LT': {}, 'EQ': {}, 'NE': {}},), default=str("GE"), is_leaf=True, yang_name="scale-out-relational-operation", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='urn:etsi:osm:yang:augments:scaling', defining_module='scaling', yang_type='common:relational-operation-type', is_config=True)

24675

24676

24677 def _get_vnf_monitoring_param_ref(self):

24678 """

24679 Getter method for vnf_monitoring_param_ref, mapped from YANG variable /vnfd/df/scaling_aspect/scaling_policy/scaling_criteria/vnf_monitoring_param_ref (string)

24680

24681 YANG Description: Reference to the VNF level monitoring parameter

24682 that is aggregated

24683 """

24684 return self.__vnf_monitoring_param_ref

24685

24686 def _set_vnf_monitoring_param_ref(self, v, load=False):

24687 """

24688 Setter method for vnf_monitoring_param_ref, mapped from YANG variable /vnfd/df/scaling_aspect/scaling_policy/scaling_criteria/vnf_monitoring_param_ref (string)

24689 If this variable is read-only (config: false) in the

24690 source YANG file, then _set_vnf_monitoring_param_ref is considered as a private

24691 method. Backends looking to populate this variable should

24692 do so via calling thisObj._set_vnf_monitoring_param_ref() directly.

24693

24694 YANG Description: Reference to the VNF level monitoring parameter

24695 that is aggregated

24696 """

24697 if hasattr(v, "_utype"):

24698 v = v._utype(v)

24699 try:

24700 t = YANGDynClass(v,base=str, is_leaf=True, yang_name="vnf-monitoring-param-ref", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='urn:etsi:osm:yang:augments:scaling', defining_module='scaling', yang_type='string', is_config=True)

24701 except (TypeError, ValueError):

24702 raise ValueError({

24703 'error-string': """vnf_monitoring_param_ref must be of a type compatible with string""",

24704 'defined-type': "string",

24705 'generated-type': """YANGDynClass(base=str, is_leaf=True, yang_name="vnf-monitoring-param-ref", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='urn:etsi:osm:yang:augments:scaling', defining_module='scaling', yang_type='string', is_config=True)""",

24706 })

24707

24708 self.__vnf_monitoring_param_ref = t

24709 if hasattr(self, '_set'):

24710 self._set()

24711

24712 def _unset_vnf_monitoring_param_ref(self):

24713 self.__vnf_monitoring_param_ref = YANGDynClass(base=str, is_leaf=True, yang_name="vnf-monitoring-param-ref", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='urn:etsi:osm:yang:augments:scaling', defining_module='scaling', yang_type='string', is_config=True)

24714

24715 name = __builtin__.property(_get_name, _set_name)

24716 scale_in_threshold = __builtin__.property(_get_scale_in_threshold, _set_scale_in_threshold)

24717 scale_in_relational_operation = __builtin__.property(_get_scale_in_relational_operation, _set_scale_in_relational_operation)

24718 scale_out_threshold = __builtin__.property(_get_scale_out_threshold, _set_scale_out_threshold)

24719 scale_out_relational_operation = __builtin__.property(_get_scale_out_relational_operation, _set_scale_out_relational_operation)

24720 vnf_monitoring_param_ref = __builtin__.property(_get_vnf_monitoring_param_ref, _set_vnf_monitoring_param_ref)

24721

24722

24723 _pyangbind_elements = OrderedDict([('name', name), ('scale_in_threshold', scale_in_threshold), ('scale_in_relational_operation', scale_in_relational_operation), ('scale_out_threshold', scale_out_threshold), ('scale_out_relational_operation', scale_out_relational_operation), ('vnf_monitoring_param_ref', vnf_monitoring_param_ref), ])

24724

24725

24726 class yc_scaling_policy_etsi_nfv_vnfd__vnfd_df_scaling_aspect_scaling_policy(PybindBase):

24727 """

24728 This class was auto-generated by the PythonClass plugin for PYANG

24729 from YANG module etsi-nfv-vnfd - based on the path /vnfd/df/scaling-aspect/scaling-policy. Each member element of

24730 the container is represented as a class variable - with a specific

24731 YANG type.

24732 """

24733 __slots__ = ('_path_helper', '_extmethods', '__name','__scaling_type','__enabled','__scale_in_operation_type','__scale_out_operation_type','__threshold_time','__cooldown_time','__scaling_criteria',)

24734

24735 _yang_name = 'scaling-policy'

24736 _yang_namespace = 'urn:etsi:nfv:yang:etsi-nfv-vnfd'

24737

24738 _pybind_generated_by = 'container'

24739

24740 def __init__(self, *args, **kwargs):

24741

24742 self._path_helper = False

24743

24744 self._extmethods = False

24745 self.__name = YANGDynClass(base=str, is_leaf=True, yang_name="name", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, is_keyval=True, namespace='urn:etsi:osm:yang:augments:scaling', defining_module='scaling', yang_type='string', is_config=True)

24746 self.__scaling_type = YANGDynClass(base=RestrictedClassType(base_type=str, restriction_type="dict_key", restriction_arg={'manual': {'value': 1}, 'automatic': {'value': 2}},), is_leaf=True, yang_name="scaling-type", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='urn:etsi:osm:yang:augments:scaling', defining_module='scaling', yang_type='common:scaling-policy-type', is_config=True)

24747 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='urn:etsi:osm:yang:augments:scaling', defining_module='scaling', yang_type='boolean', is_config=True)

24748 self.__scale_in_operation_type = YANGDynClass(base=RestrictedClassType(base_type=str, restriction_type="dict_key", restriction_arg={'AND': {'value': 1}, 'OR': {'value': 2}},), default=str("AND"), is_leaf=True, yang_name="scale-in-operation-type", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='urn:etsi:osm:yang:augments:scaling', defining_module='scaling', yang_type='common:scaling-criteria-operation', is_config=True)

24749 self.__scale_out_operation_type = YANGDynClass(base=RestrictedClassType(base_type=str, restriction_type="dict_key", restriction_arg={'AND': {'value': 1}, 'OR': {'value': 2}},), default=str("OR"), is_leaf=True, yang_name="scale-out-operation-type", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='urn:etsi:osm:yang:augments:scaling', defining_module='scaling', yang_type='common:scaling-criteria-operation', is_config=True)

24750 self.__threshold_time = YANGDynClass(base=RestrictedClassType(base_type=long, restriction_dict={'range': ['0..4294967295']}, int_size=32), is_leaf=True, yang_name="threshold-time", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='urn:etsi:osm:yang:augments:scaling', defining_module='scaling', yang_type='uint32', is_config=True)

24751 self.__cooldown_time = YANGDynClass(base=RestrictedClassType(base_type=long, restriction_dict={'range': ['0..4294967295']}, int_size=32), is_leaf=True, yang_name="cooldown-time", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='urn:etsi:osm:yang:augments:scaling', defining_module='scaling', yang_type='uint32', is_config=True)

24752 self.__scaling_criteria = YANGDynClass(base=YANGListType("name",yc_scaling_criteria_etsi_nfv_vnfd__vnfd_df_scaling_aspect_scaling_policy_scaling_criteria, yang_name="scaling-criteria", parent=self, is_container='list', user_ordered=False, path_helper=self._path_helper, yang_keys='name', extensions=None), is_container='list', yang_name="scaling-criteria", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, extensions=None, namespace='urn:etsi:osm:yang:augments:scaling', defining_module='scaling', yang_type='list', is_config=True)

24753

24754 load = kwargs.pop("load", None)

24755 if args:

24756 if len(args) > 1:

24757 raise TypeError("cannot create a YANG container with >1 argument")

24758 all_attr = True

24759 for e in self._pyangbind_elements:

24760 if not hasattr(args[0], e):

24761 all_attr = False

24762 break

24763 if not all_attr:

24764 raise ValueError("Supplied object did not have the correct attributes")

24765 for e in self._pyangbind_elements:

24766 nobj = getattr(args[0], e)

24767 if nobj._changed() is False:

24768 continue

24769 setmethod = getattr(self, "_set_%s" % e)

24770 if load is None:

24771 setmethod(getattr(args[0], e))

24772 else:

24773 setmethod(getattr(args[0], e), load=load)

24774

24775 def _path(self):

24776 if hasattr(self, "_parent"):

24777 return self._parent._path()+[self._yang_name]

24778 else:

24779 return ['vnfd', 'df', 'scaling-aspect', 'scaling-policy']

24780

24781 def _get_name(self):

24782 """

24783 Getter method for name, mapped from YANG variable /vnfd/df/scaling_aspect/scaling_policy/name (string)

24784

24785 YANG Description: Name of the scaling policy

24786 """

24787 return self.__name

24788

24789 def _set_name(self, v, load=False):

24790 """

24791 Setter method for name, mapped from YANG variable /vnfd/df/scaling_aspect/scaling_policy/name (string)

24792 If this variable is read-only (config: false) in the

24793 source YANG file, then _set_name is considered as a private

24794 method. Backends looking to populate this variable should

24795 do so via calling thisObj._set_name() directly.

24796

24797 YANG Description: Name of the scaling policy

24798 """

24799 parent = getattr(self, "_parent", None)

24800 if parent is not None and load is False:

24801 raise AttributeError("Cannot set keys directly when" +

24802 " within an instantiated list")

24803

24804 if hasattr(v, "_utype"):

24805 v = v._utype(v)

24806 try:

24807 t = YANGDynClass(v,base=str, is_leaf=True, yang_name="name", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, is_keyval=True, namespace='urn:etsi:osm:yang:augments:scaling', defining_module='scaling', yang_type='string', is_config=True)

24808 except (TypeError, ValueError):

24809 raise ValueError({

24810 'error-string': """name must be of a type compatible with string""",

24811 'defined-type': "string",

24812 'generated-type': """YANGDynClass(base=str, is_leaf=True, yang_name="name", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, is_keyval=True, namespace='urn:etsi:osm:yang:augments:scaling', defining_module='scaling', yang_type='string', is_config=True)""",

24813 })

24814

24815 self.__name = t

24816 if hasattr(self, '_set'):

24817 self._set()

24818

24819 def _unset_name(self):

24820 self.__name = YANGDynClass(base=str, is_leaf=True, yang_name="name", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, is_keyval=True, namespace='urn:etsi:osm:yang:augments:scaling', defining_module='scaling', yang_type='string', is_config=True)

24821

24822

24823 def _get_scaling_type(self):

24824 """

24825 Getter method for scaling_type, mapped from YANG variable /vnfd/df/scaling_aspect/scaling_policy/scaling_type (common:scaling-policy-type)

24826

24827 YANG Description: Type of scaling

24828 """

24829 return self.__scaling_type

24830

24831 def _set_scaling_type(self, v, load=False):

24832 """

24833 Setter method for scaling_type, mapped from YANG variable /vnfd/df/scaling_aspect/scaling_policy/scaling_type (common:scaling-policy-type)

24834 If this variable is read-only (config: false) in the

24835 source YANG file, then _set_scaling_type is considered as a private

24836 method. Backends looking to populate this variable should

24837 do so via calling thisObj._set_scaling_type() directly.

24838

24839 YANG Description: Type of scaling

24840 """

24841 if hasattr(v, "_utype"):

24842 v = v._utype(v)

24843 try:

24844 t = YANGDynClass(v,base=RestrictedClassType(base_type=str, restriction_type="dict_key", restriction_arg={'manual': {'value': 1}, 'automatic': {'value': 2}},), is_leaf=True, yang_name="scaling-type", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='urn:etsi:osm:yang:augments:scaling', defining_module='scaling', yang_type='common:scaling-policy-type', is_config=True)

24845 except (TypeError, ValueError):

24846 raise ValueError({

24847 'error-string': """scaling_type must be of a type compatible with common:scaling-policy-type""",

24848 'defined-type': "common:scaling-policy-type",

24849 'generated-type': """YANGDynClass(base=RestrictedClassType(base_type=str, restriction_type="dict_key", restriction_arg={'manual': {'value': 1}, 'automatic': {'value': 2}},), is_leaf=True, yang_name="scaling-type", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='urn:etsi:osm:yang:augments:scaling', defining_module='scaling', yang_type='common:scaling-policy-type', is_config=True)""",

24850 })

24851

24852 self.__scaling_type = t

24853 if hasattr(self, '_set'):

24854 self._set()

24855

24856 def _unset_scaling_type(self):

24857 self.__scaling_type = YANGDynClass(base=RestrictedClassType(base_type=str, restriction_type="dict_key", restriction_arg={'manual': {'value': 1}, 'automatic': {'value': 2}},), is_leaf=True, yang_name="scaling-type", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='urn:etsi:osm:yang:augments:scaling', defining_module='scaling', yang_type='common:scaling-policy-type', is_config=True)

24858

24859

24860 def _get_enabled(self):

24861 """

24862 Getter method for enabled, mapped from YANG variable /vnfd/df/scaling_aspect/scaling_policy/enabled (boolean)

24863

24864 YANG Description: Specifies if the scaling policy can be applied

24865 """

24866 return self.__enabled

24867

24868 def _set_enabled(self, v, load=False):

24869 """

24870 Setter method for enabled, mapped from YANG variable /vnfd/df/scaling_aspect/scaling_policy/enabled (boolean)

24871 If this variable is read-only (config: false) in the

24872 source YANG file, then _set_enabled is considered as a private

24873 method. Backends looking to populate this variable should

24874 do so via calling thisObj._set_enabled() directly.

24875

24876 YANG Description: Specifies if the scaling policy can be applied

24877 """

24878 if hasattr(v, "_utype"):

24879 v = v._utype(v)

24880 try:

24881 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='urn:etsi:osm:yang:augments:scaling', defining_module='scaling', yang_type='boolean', is_config=True)

24882 except (TypeError, ValueError):

24883 raise ValueError({

24884 'error-string': """enabled must be of a type compatible with boolean""",

24885 'defined-type': "boolean",

24886 '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='urn:etsi:osm:yang:augments:scaling', defining_module='scaling', yang_type='boolean', is_config=True)""",

24887 })

24888

24889 self.__enabled = t

24890 if hasattr(self, '_set'):

24891 self._set()

24892

24893 def _unset_enabled(self):

24894 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='urn:etsi:osm:yang:augments:scaling', defining_module='scaling', yang_type='boolean', is_config=True)

24895

24896

24897 def _get_scale_in_operation_type(self):

24898 """

24899 Getter method for scale_in_operation_type, mapped from YANG variable /vnfd/df/scaling_aspect/scaling_policy/scale_in_operation_type (common:scaling-criteria-operation)

24900

24901 YANG Description: Operation to be applied to check between scaling criterias to

24902 check if the scale in threshold condition has been met.

24903 Defaults to AND

24904 """

24905 return self.__scale_in_operation_type

24906

24907 def _set_scale_in_operation_type(self, v, load=False):

24908 """

24909 Setter method for scale_in_operation_type, mapped from YANG variable /vnfd/df/scaling_aspect/scaling_policy/scale_in_operation_type (common:scaling-criteria-operation)

24910 If this variable is read-only (config: false) in the

24911 source YANG file, then _set_scale_in_operation_type is considered as a private

24912 method. Backends looking to populate this variable should

24913 do so via calling thisObj._set_scale_in_operation_type() directly.

24914

24915 YANG Description: Operation to be applied to check between scaling criterias to

24916 check if the scale in threshold condition has been met.

24917 Defaults to AND

24918 """

24919 if hasattr(v, "_utype"):

24920 v = v._utype(v)

24921 try:

24922 t = YANGDynClass(v,base=RestrictedClassType(base_type=str, restriction_type="dict_key", restriction_arg={'AND': {'value': 1}, 'OR': {'value': 2}},), default=str("AND"), is_leaf=True, yang_name="scale-in-operation-type", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='urn:etsi:osm:yang:augments:scaling', defining_module='scaling', yang_type='common:scaling-criteria-operation', is_config=True)

24923 except (TypeError, ValueError):

24924 raise ValueError({

24925 'error-string': """scale_in_operation_type must be of a type compatible with common:scaling-criteria-operation""",

24926 'defined-type': "common:scaling-criteria-operation",

24927 'generated-type': """YANGDynClass(base=RestrictedClassType(base_type=str, restriction_type="dict_key", restriction_arg={'AND': {'value': 1}, 'OR': {'value': 2}},), default=str("AND"), is_leaf=True, yang_name="scale-in-operation-type", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='urn:etsi:osm:yang:augments:scaling', defining_module='scaling', yang_type='common:scaling-criteria-operation', is_config=True)""",

24928 })

24929

24930 self.__scale_in_operation_type = t

24931 if hasattr(self, '_set'):

24932 self._set()

24933

24934 def _unset_scale_in_operation_type(self):

24935 self.__scale_in_operation_type = YANGDynClass(base=RestrictedClassType(base_type=str, restriction_type="dict_key", restriction_arg={'AND': {'value': 1}, 'OR': {'value': 2}},), default=str("AND"), is_leaf=True, yang_name="scale-in-operation-type", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='urn:etsi:osm:yang:augments:scaling', defining_module='scaling', yang_type='common:scaling-criteria-operation', is_config=True)

24936

24937

24938 def _get_scale_out_operation_type(self):

24939 """

24940 Getter method for scale_out_operation_type, mapped from YANG variable /vnfd/df/scaling_aspect/scaling_policy/scale_out_operation_type (common:scaling-criteria-operation)

24941

24942 YANG Description: Operation to be applied to check between scaling criterias to

24943 check if the scale out threshold condition has been met.

24944 Defauls to OR

24945 """

24946 return self.__scale_out_operation_type

24947

24948 def _set_scale_out_operation_type(self, v, load=False):

24949 """

24950 Setter method for scale_out_operation_type, mapped from YANG variable /vnfd/df/scaling_aspect/scaling_policy/scale_out_operation_type (common:scaling-criteria-operation)

24951 If this variable is read-only (config: false) in the

24952 source YANG file, then _set_scale_out_operation_type is considered as a private

24953 method. Backends looking to populate this variable should

24954 do so via calling thisObj._set_scale_out_operation_type() directly.

24955

24956 YANG Description: Operation to be applied to check between scaling criterias to

24957 check if the scale out threshold condition has been met.

24958 Defauls to OR

24959 """

24960 if hasattr(v, "_utype"):

24961 v = v._utype(v)

24962 try:

24963 t = YANGDynClass(v,base=RestrictedClassType(base_type=str, restriction_type="dict_key", restriction_arg={'AND': {'value': 1}, 'OR': {'value': 2}},), default=str("OR"), is_leaf=True, yang_name="scale-out-operation-type", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='urn:etsi:osm:yang:augments:scaling', defining_module='scaling', yang_type='common:scaling-criteria-operation', is_config=True)

24964 except (TypeError, ValueError):

24965 raise ValueError({

24966 'error-string': """scale_out_operation_type must be of a type compatible with common:scaling-criteria-operation""",

24967 'defined-type': "common:scaling-criteria-operation",

24968 'generated-type': """YANGDynClass(base=RestrictedClassType(base_type=str, restriction_type="dict_key", restriction_arg={'AND': {'value': 1}, 'OR': {'value': 2}},), default=str("OR"), is_leaf=True, yang_name="scale-out-operation-type", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='urn:etsi:osm:yang:augments:scaling', defining_module='scaling', yang_type='common:scaling-criteria-operation', is_config=True)""",

24969 })

24970

24971 self.__scale_out_operation_type = t

24972 if hasattr(self, '_set'):

24973 self._set()

24974

24975 def _unset_scale_out_operation_type(self):

24976 self.__scale_out_operation_type = YANGDynClass(base=RestrictedClassType(base_type=str, restriction_type="dict_key", restriction_arg={'AND': {'value': 1}, 'OR': {'value': 2}},), default=str("OR"), is_leaf=True, yang_name="scale-out-operation-type", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='urn:etsi:osm:yang:augments:scaling', defining_module='scaling', yang_type='common:scaling-criteria-operation', is_config=True)

24977

24978

24979 def _get_threshold_time(self):

24980 """

24981 Getter method for threshold_time, mapped from YANG variable /vnfd/df/scaling_aspect/scaling_policy/threshold_time (uint32)

24982

24983 YANG Description: The duration for which the criteria must hold true

24984 """

24985 return self.__threshold_time

24986

24987 def _set_threshold_time(self, v, load=False):

24988 """

24989 Setter method for threshold_time, mapped from YANG variable /vnfd/df/scaling_aspect/scaling_policy/threshold_time (uint32)

24990 If this variable is read-only (config: false) in the

24991 source YANG file, then _set_threshold_time is considered as a private

24992 method. Backends looking to populate this variable should

24993 do so via calling thisObj._set_threshold_time() directly.

24994

24995 YANG Description: The duration for which the criteria must hold true

24996 """

24997 if hasattr(v, "_utype"):

24998 v = v._utype(v)

24999 try:

25000 t = YANGDynClass(v,base=RestrictedClassType(base_type=long, restriction_dict={'range': ['0..4294967295']}, int_size=32), is_leaf=True, yang_name="threshold-time", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='urn:etsi:osm:yang:augments:scaling', defining_module='scaling', yang_type='uint32', is_config=True)

25001 except (TypeError, ValueError):

25002 raise ValueError({

25003 'error-string': """threshold_time must be of a type compatible with uint32""",

25004 'defined-type': "uint32",

25005 'generated-type': """YANGDynClass(base=RestrictedClassType(base_type=long, restriction_dict={'range': ['0..4294967295']}, int_size=32), is_leaf=True, yang_name="threshold-time", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='urn:etsi:osm:yang:augments:scaling', defining_module='scaling', yang_type='uint32', is_config=True)""",

25006 })

25007

25008 self.__threshold_time = t

25009 if hasattr(self, '_set'):

25010 self._set()

25011

25012 def _unset_threshold_time(self):

25013 self.__threshold_time = YANGDynClass(base=RestrictedClassType(base_type=long, restriction_dict={'range': ['0..4294967295']}, int_size=32), is_leaf=True, yang_name="threshold-time", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='urn:etsi:osm:yang:augments:scaling', defining_module='scaling', yang_type='uint32', is_config=True)

25014

25015

25016 def _get_cooldown_time(self):

25017 """

25018 Getter method for cooldown_time, mapped from YANG variable /vnfd/df/scaling_aspect/scaling_policy/cooldown_time (uint32)

25019

25020 YANG Description: The duration after a scaling-in/scaling-out action has been

25021 triggered, for which there will be no further optional

25022 """

25023 return self.__cooldown_time

25024

25025 def _set_cooldown_time(self, v, load=False):

25026 """

25027 Setter method for cooldown_time, mapped from YANG variable /vnfd/df/scaling_aspect/scaling_policy/cooldown_time (uint32)

25028 If this variable is read-only (config: false) in the

25029 source YANG file, then _set_cooldown_time is considered as a private

25030 method. Backends looking to populate this variable should

25031 do so via calling thisObj._set_cooldown_time() directly.

25032

25033 YANG Description: The duration after a scaling-in/scaling-out action has been

25034 triggered, for which there will be no further optional

25035 """

25036 if hasattr(v, "_utype"):

25037 v = v._utype(v)

25038 try:

25039 t = YANGDynClass(v,base=RestrictedClassType(base_type=long, restriction_dict={'range': ['0..4294967295']}, int_size=32), is_leaf=True, yang_name="cooldown-time", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='urn:etsi:osm:yang:augments:scaling', defining_module='scaling', yang_type='uint32', is_config=True)

25040 except (TypeError, ValueError):

25041 raise ValueError({

25042 'error-string': """cooldown_time must be of a type compatible with uint32""",

25043 'defined-type': "uint32",

25044 'generated-type': """YANGDynClass(base=RestrictedClassType(base_type=long, restriction_dict={'range': ['0..4294967295']}, int_size=32), is_leaf=True, yang_name="cooldown-time", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='urn:etsi:osm:yang:augments:scaling', defining_module='scaling', yang_type='uint32', is_config=True)""",

25045 })

25046

25047 self.__cooldown_time = t

25048 if hasattr(self, '_set'):

25049 self._set()

25050

25051 def _unset_cooldown_time(self):

25052 self.__cooldown_time = YANGDynClass(base=RestrictedClassType(base_type=long, restriction_dict={'range': ['0..4294967295']}, int_size=32), is_leaf=True, yang_name="cooldown-time", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='urn:etsi:osm:yang:augments:scaling', defining_module='scaling', yang_type='uint32', is_config=True)

25053

25054

25055 def _get_scaling_criteria(self):

25056 """

25057 Getter method for scaling_criteria, mapped from YANG variable /vnfd/df/scaling_aspect/scaling_policy/scaling_criteria (list)

25058

25059 YANG Description: list of conditions to be met for generating scaling

25060 requests

25061 """

25062 return self.__scaling_criteria

25063

25064 def _set_scaling_criteria(self, v, load=False):

25065 """

25066 Setter method for scaling_criteria, mapped from YANG variable /vnfd/df/scaling_aspect/scaling_policy/scaling_criteria (list)

25067 If this variable is read-only (config: false) in the

25068 source YANG file, then _set_scaling_criteria is considered as a private

25069 method. Backends looking to populate this variable should

25070 do so via calling thisObj._set_scaling_criteria() directly.

25071

25072 YANG Description: list of conditions to be met for generating scaling

25073 requests

25074 """

25075 if hasattr(v, "_utype"):

25076 v = v._utype(v)

25077 try:

25078 t = YANGDynClass(v,base=YANGListType("name",yc_scaling_criteria_etsi_nfv_vnfd__vnfd_df_scaling_aspect_scaling_policy_scaling_criteria, yang_name="scaling-criteria", parent=self, is_container='list', user_ordered=False, path_helper=self._path_helper, yang_keys='name', extensions=None), is_container='list', yang_name="scaling-criteria", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, extensions=None, namespace='urn:etsi:osm:yang:augments:scaling', defining_module='scaling', yang_type='list', is_config=True)

25079 except (TypeError, ValueError):

25080 raise ValueError({

25081 'error-string': """scaling_criteria must be of a type compatible with list""",

25082 'defined-type': "list",

25083 'generated-type': """YANGDynClass(base=YANGListType("name",yc_scaling_criteria_etsi_nfv_vnfd__vnfd_df_scaling_aspect_scaling_policy_scaling_criteria, yang_name="scaling-criteria", parent=self, is_container='list', user_ordered=False, path_helper=self._path_helper, yang_keys='name', extensions=None), is_container='list', yang_name="scaling-criteria", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, extensions=None, namespace='urn:etsi:osm:yang:augments:scaling', defining_module='scaling', yang_type='list', is_config=True)""",

25084 })

25085

25086 self.__scaling_criteria = t

25087 if hasattr(self, '_set'):

25088 self._set()

25089

25090 def _unset_scaling_criteria(self):

25091 self.__scaling_criteria = YANGDynClass(base=YANGListType("name",yc_scaling_criteria_etsi_nfv_vnfd__vnfd_df_scaling_aspect_scaling_policy_scaling_criteria, yang_name="scaling-criteria", parent=self, is_container='list', user_ordered=False, path_helper=self._path_helper, yang_keys='name', extensions=None), is_container='list', yang_name="scaling-criteria", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, extensions=None, namespace='urn:etsi:osm:yang:augments:scaling', defining_module='scaling', yang_type='list', is_config=True)

25092

25093 name = __builtin__.property(_get_name, _set_name)

25094 scaling_type = __builtin__.property(_get_scaling_type, _set_scaling_type)

25095 enabled = __builtin__.property(_get_enabled, _set_enabled)

25096 scale_in_operation_type = __builtin__.property(_get_scale_in_operation_type, _set_scale_in_operation_type)

25097 scale_out_operation_type = __builtin__.property(_get_scale_out_operation_type, _set_scale_out_operation_type)

25098 threshold_time = __builtin__.property(_get_threshold_time, _set_threshold_time)

25099 cooldown_time = __builtin__.property(_get_cooldown_time, _set_cooldown_time)

25100 scaling_criteria = __builtin__.property(_get_scaling_criteria, _set_scaling_criteria)

25101

25102

25103 _pyangbind_elements = OrderedDict([('name', name), ('scaling_type', scaling_type), ('enabled', enabled), ('scale_in_operation_type', scale_in_operation_type), ('scale_out_operation_type', scale_out_operation_type), ('threshold_time', threshold_time), ('cooldown_time', cooldown_time), ('scaling_criteria', scaling_criteria), ])

25104

25105

25106 class yc_scaling_config_action_etsi_nfv_vnfd__vnfd_df_scaling_aspect_scaling_config_action(PybindBase):

25107 """

25108 This class was auto-generated by the PythonClass plugin for PYANG

25109 from YANG module etsi-nfv-vnfd - based on the path /vnfd/df/scaling-aspect/scaling-config-action. Each member element of

25110 the container is represented as a class variable - with a specific

25111 YANG type.

25112

25113 YANG Description: List of scaling config actions

25114 """

25115 __slots__ = ('_path_helper', '_extmethods', '__trigger','__vnf_config_primitive_name_ref',)

25116

25117 _yang_name = 'scaling-config-action'

25118 _yang_namespace = 'urn:etsi:nfv:yang:etsi-nfv-vnfd'

25119

25120 _pybind_generated_by = 'container'

25121

25122 def __init__(self, *args, **kwargs):

25123

25124 self._path_helper = False

25125

25126 self._extmethods = False

25127 self.__trigger = YANGDynClass(base=RestrictedClassType(base_type=str, restriction_type="dict_key", restriction_arg={'pre-scale-in': {'value': 1}, 'post-scale-in': {'value': 2}, 'pre-scale-out': {'value': 3}, 'post-scale-out': {'value': 4}},), is_leaf=True, yang_name="trigger", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, is_keyval=True, namespace='urn:etsi:osm:yang:augments:scaling', defining_module='scaling', yang_type='common:scaling-trigger', is_config=True)

25128 self.__vnf_config_primitive_name_ref = YANGDynClass(base=str, is_leaf=True, yang_name="vnf-config-primitive-name-ref", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='urn:etsi:osm:yang:augments:scaling', defining_module='scaling', yang_type='leafref', is_config=True)

25129

25130 load = kwargs.pop("load", None)

25131 if args:

25132 if len(args) > 1:

25133 raise TypeError("cannot create a YANG container with >1 argument")

25134 all_attr = True

25135 for e in self._pyangbind_elements:

25136 if not hasattr(args[0], e):

25137 all_attr = False

25138 break

25139 if not all_attr:

25140 raise ValueError("Supplied object did not have the correct attributes")

25141 for e in self._pyangbind_elements:

25142 nobj = getattr(args[0], e)

25143 if nobj._changed() is False:

25144 continue

25145 setmethod = getattr(self, "_set_%s" % e)

25146 if load is None:

25147 setmethod(getattr(args[0], e))

25148 else:

25149 setmethod(getattr(args[0], e), load=load)

25150

25151 def _path(self):

25152 if hasattr(self, "_parent"):

25153 return self._parent._path()+[self._yang_name]

25154 else:

25155 return ['vnfd', 'df', 'scaling-aspect', 'scaling-config-action']

25156

25157 def _get_trigger(self):

25158 """

25159 Getter method for trigger, mapped from YANG variable /vnfd/df/scaling_aspect/scaling_config_action/trigger (common:scaling-trigger)

25160

25161 YANG Description: scaling trigger

25162 """

25163 return self.__trigger

25164

25165 def _set_trigger(self, v, load=False):

25166 """

25167 Setter method for trigger, mapped from YANG variable /vnfd/df/scaling_aspect/scaling_config_action/trigger (common:scaling-trigger)

25168 If this variable is read-only (config: false) in the

25169 source YANG file, then _set_trigger is considered as a private

25170 method. Backends looking to populate this variable should

25171 do so via calling thisObj._set_trigger() directly.

25172

25173 YANG Description: scaling trigger

25174 """

25175 parent = getattr(self, "_parent", None)

25176 if parent is not None and load is False:

25177 raise AttributeError("Cannot set keys directly when" +

25178 " within an instantiated list")

25179

25180 if hasattr(v, "_utype"):

25181 v = v._utype(v)

25182 try:

25183 t = YANGDynClass(v,base=RestrictedClassType(base_type=str, restriction_type="dict_key", restriction_arg={'pre-scale-in': {'value': 1}, 'post-scale-in': {'value': 2}, 'pre-scale-out': {'value': 3}, 'post-scale-out': {'value': 4}},), is_leaf=True, yang_name="trigger", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, is_keyval=True, namespace='urn:etsi:osm:yang:augments:scaling', defining_module='scaling', yang_type='common:scaling-trigger', is_config=True)

25184 except (TypeError, ValueError):

25185 raise ValueError({

25186 'error-string': """trigger must be of a type compatible with common:scaling-trigger""",

25187 'defined-type': "common:scaling-trigger",

25188 'generated-type': """YANGDynClass(base=RestrictedClassType(base_type=str, restriction_type="dict_key", restriction_arg={'pre-scale-in': {'value': 1}, 'post-scale-in': {'value': 2}, 'pre-scale-out': {'value': 3}, 'post-scale-out': {'value': 4}},), is_leaf=True, yang_name="trigger", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, is_keyval=True, namespace='urn:etsi:osm:yang:augments:scaling', defining_module='scaling', yang_type='common:scaling-trigger', is_config=True)""",

25189 })

25190

25191 self.__trigger = t

25192 if hasattr(self, '_set'):

25193 self._set()

25194

25195 def _unset_trigger(self):

25196 self.__trigger = YANGDynClass(base=RestrictedClassType(base_type=str, restriction_type="dict_key", restriction_arg={'pre-scale-in': {'value': 1}, 'post-scale-in': {'value': 2}, 'pre-scale-out': {'value': 3}, 'post-scale-out': {'value': 4}},), is_leaf=True, yang_name="trigger", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, is_keyval=True, namespace='urn:etsi:osm:yang:augments:scaling', defining_module='scaling', yang_type='common:scaling-trigger', is_config=True)

25197

25198

25199 def _get_vnf_config_primitive_name_ref(self):

25200 """

25201 Getter method for vnf_config_primitive_name_ref, mapped from YANG variable /vnfd/df/scaling_aspect/scaling_config_action/vnf_config_primitive_name_ref (leafref)

25202

25203 YANG Description: Reference to the VNF config primitive

25204 """

25205 return self.__vnf_config_primitive_name_ref

25206

25207 def _set_vnf_config_primitive_name_ref(self, v, load=False):

25208 """

25209 Setter method for vnf_config_primitive_name_ref, mapped from YANG variable /vnfd/df/scaling_aspect/scaling_config_action/vnf_config_primitive_name_ref (leafref)

25210 If this variable is read-only (config: false) in the

25211 source YANG file, then _set_vnf_config_primitive_name_ref is considered as a private

25212 method. Backends looking to populate this variable should

25213 do so via calling thisObj._set_vnf_config_primitive_name_ref() directly.

25214

25215 YANG Description: Reference to the VNF config primitive

25216 """

25217 if hasattr(v, "_utype"):

25218 v = v._utype(v)

25219 try:

25220 t = YANGDynClass(v,base=str, is_leaf=True, yang_name="vnf-config-primitive-name-ref", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='urn:etsi:osm:yang:augments:scaling', defining_module='scaling', yang_type='leafref', is_config=True)

25221 except (TypeError, ValueError):

25222 raise ValueError({

25223 'error-string': """vnf_config_primitive_name_ref must be of a type compatible with leafref""",

25224 'defined-type': "leafref",

25225 'generated-type': """YANGDynClass(base=str, is_leaf=True, yang_name="vnf-config-primitive-name-ref", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='urn:etsi:osm:yang:augments:scaling', defining_module='scaling', yang_type='leafref', is_config=True)""",

25226 })

25227

25228 self.__vnf_config_primitive_name_ref = t

25229 if hasattr(self, '_set'):

25230 self._set()

25231

25232 def _unset_vnf_config_primitive_name_ref(self):

25233 self.__vnf_config_primitive_name_ref = YANGDynClass(base=str, is_leaf=True, yang_name="vnf-config-primitive-name-ref", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='urn:etsi:osm:yang:augments:scaling', defining_module='scaling', yang_type='leafref', is_config=True)

25234

25235 trigger = __builtin__.property(_get_trigger, _set_trigger)

25236 vnf_config_primitive_name_ref = __builtin__.property(_get_vnf_config_primitive_name_ref, _set_vnf_config_primitive_name_ref)

25237

25238

25239 _pyangbind_elements = OrderedDict([('trigger', trigger), ('vnf_config_primitive_name_ref', vnf_config_primitive_name_ref), ])

25240

25241

25242 class yc_scaling_aspect_etsi_nfv_vnfd__vnfd_df_scaling_aspect(PybindBase):

25243 """

25244 This class was auto-generated by the PythonClass plugin for PYANG

25245 from YANG module etsi-nfv-vnfd - based on the path /vnfd/df/scaling-aspect. Each member element of

25246 the container is represented as a class variable - with a specific

25247 YANG type.

25248

25249 YANG Description: The scaling aspects supported by this DF of the VNF.

25250 scalingAspect shall be present if the VNF supports

25251 scaling.

25252 """

25253 __slots__ = ('_path_helper', '_extmethods', '__id','__name','__description','__max_scale_level','__aspect_delta_details','__scaling_policy','__scaling_config_action',)

25254

25255 _yang_name = 'scaling-aspect'

25256 _yang_namespace = 'urn:etsi:nfv:yang:etsi-nfv-vnfd'

25257

25258 _pybind_generated_by = 'container'

25259

25260 def __init__(self, *args, **kwargs):

25261

25262 self._path_helper = False

25263

25264 self._extmethods = False

25265 self.__id = YANGDynClass(base=str, is_leaf=True, yang_name="id", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, is_keyval=True, namespace='urn:etsi:nfv:yang:etsi-nfv-vnfd', defining_module='etsi-nfv-vnfd', yang_type='string', is_config=True)

25266 self.__name = YANGDynClass(base=str, is_leaf=True, yang_name="name", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='urn:etsi:nfv:yang:etsi-nfv-vnfd', defining_module='etsi-nfv-vnfd', yang_type='string', is_config=True)

25267 self.__description = YANGDynClass(base=str, is_leaf=True, yang_name="description", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='urn:etsi:nfv:yang:etsi-nfv-vnfd', defining_module='etsi-nfv-vnfd', yang_type='string', is_config=True)

25268 self.__max_scale_level = YANGDynClass(base=RestrictedClassType(base_type=RestrictedClassType(base_type=long, restriction_dict={'range': ['0..4294967295']}, int_size=32), restriction_dict={'range': ['1..max']}), is_leaf=True, yang_name="max-scale-level", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='urn:etsi:nfv:yang:etsi-nfv-vnfd', defining_module='etsi-nfv-vnfd', yang_type='uint32', is_config=True)

25269 self.__aspect_delta_details = YANGDynClass(base=yc_aspect_delta_details_etsi_nfv_vnfd__vnfd_df_scaling_aspect_aspect_delta_details, is_container='container', yang_name="aspect-delta-details", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, extensions=None, namespace='urn:etsi:nfv:yang:etsi-nfv-vnfd', defining_module='etsi-nfv-vnfd', yang_type='container', is_config=True)

25270 self.__scaling_policy = YANGDynClass(base=YANGListType("name",yc_scaling_policy_etsi_nfv_vnfd__vnfd_df_scaling_aspect_scaling_policy, yang_name="scaling-policy", parent=self, is_container='list', user_ordered=False, path_helper=self._path_helper, yang_keys='name', extensions=None), is_container='list', yang_name="scaling-policy", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, extensions=None, namespace='urn:etsi:osm:yang:augments:scaling', defining_module='scaling', yang_type='list', is_config=True)

25271 self.__scaling_config_action = YANGDynClass(base=YANGListType("trigger",yc_scaling_config_action_etsi_nfv_vnfd__vnfd_df_scaling_aspect_scaling_config_action, yang_name="scaling-config-action", parent=self, is_container='list', user_ordered=False, path_helper=self._path_helper, yang_keys='trigger', extensions=None), is_container='list', yang_name="scaling-config-action", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, extensions=None, namespace='urn:etsi:osm:yang:augments:scaling', defining_module='scaling', yang_type='list', is_config=True)

25272

25273 load = kwargs.pop("load", None)

25274 if args:

25275 if len(args) > 1:

25276 raise TypeError("cannot create a YANG container with >1 argument")

25277 all_attr = True

25278 for e in self._pyangbind_elements:

25279 if not hasattr(args[0], e):

25280 all_attr = False

25281 break

25282 if not all_attr:

25283 raise ValueError("Supplied object did not have the correct attributes")

25284 for e in self._pyangbind_elements:

25285 nobj = getattr(args[0], e)

25286 if nobj._changed() is False:

25287 continue

25288 setmethod = getattr(self, "_set_%s" % e)

25289 if load is None:

25290 setmethod(getattr(args[0], e))

25291 else:

25292 setmethod(getattr(args[0], e), load=load)

25293

25294 def _path(self):

25295 if hasattr(self, "_parent"):

25296 return self._parent._path()+[self._yang_name]

25297 else:

25298 return ['vnfd', 'df', 'scaling-aspect']

25299

25300 def _get_id(self):

25301 """

25302 Getter method for id, mapped from YANG variable /vnfd/df/scaling_aspect/id (string)

25303

25304 YANG Description: Unique identifier of this aspect in the VNFD.

25305 """

25306 return self.__id

25307

25308 def _set_id(self, v, load=False):

25309 """

25310 Setter method for id, mapped from YANG variable /vnfd/df/scaling_aspect/id (string)

25311 If this variable is read-only (config: false) in the

25312 source YANG file, then _set_id is considered as a private

25313 method. Backends looking to populate this variable should

25314 do so via calling thisObj._set_id() directly.

25315

25316 YANG Description: Unique identifier of this aspect in the VNFD.

25317 """

25318 parent = getattr(self, "_parent", None)

25319 if parent is not None and load is False:

25320 raise AttributeError("Cannot set keys directly when" +

25321 " within an instantiated list")

25322

25323 if hasattr(v, "_utype"):

25324 v = v._utype(v)

25325 try:

25326 t = YANGDynClass(v,base=str, is_leaf=True, yang_name="id", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, is_keyval=True, namespace='urn:etsi:nfv:yang:etsi-nfv-vnfd', defining_module='etsi-nfv-vnfd', yang_type='string', is_config=True)

25327 except (TypeError, ValueError):

25328 raise ValueError({

25329 'error-string': """id must be of a type compatible with string""",

25330 'defined-type': "string",

25331 'generated-type': """YANGDynClass(base=str, is_leaf=True, yang_name="id", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, is_keyval=True, namespace='urn:etsi:nfv:yang:etsi-nfv-vnfd', defining_module='etsi-nfv-vnfd', yang_type='string', is_config=True)""",

25332 })

25333

25334 self.__id = t

25335 if hasattr(self, '_set'):

25336 self._set()

25337

25338 def _unset_id(self):

25339 self.__id = YANGDynClass(base=str, is_leaf=True, yang_name="id", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, is_keyval=True, namespace='urn:etsi:nfv:yang:etsi-nfv-vnfd', defining_module='etsi-nfv-vnfd', yang_type='string', is_config=True)

25340

25341

25342 def _get_name(self):

25343 """

25344 Getter method for name, mapped from YANG variable /vnfd/df/scaling_aspect/name (string)

25345

25346 YANG Description: Human readable name of the aspect.

25347 """

25348 return self.__name

25349

25350 def _set_name(self, v, load=False):

25351 """

25352 Setter method for name, mapped from YANG variable /vnfd/df/scaling_aspect/name (string)

25353 If this variable is read-only (config: false) in the

25354 source YANG file, then _set_name is considered as a private

25355 method. Backends looking to populate this variable should

25356 do so via calling thisObj._set_name() directly.

25357

25358 YANG Description: Human readable name of the aspect.

25359 """

25360 if hasattr(v, "_utype"):

25361 v = v._utype(v)

25362 try:

25363 t = YANGDynClass(v,base=str, is_leaf=True, yang_name="name", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='urn:etsi:nfv:yang:etsi-nfv-vnfd', defining_module='etsi-nfv-vnfd', yang_type='string', is_config=True)

25364 except (TypeError, ValueError):

25365 raise ValueError({

25366 'error-string': """name must be of a type compatible with string""",

25367 'defined-type': "string",

25368 'generated-type': """YANGDynClass(base=str, is_leaf=True, yang_name="name", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='urn:etsi:nfv:yang:etsi-nfv-vnfd', defining_module='etsi-nfv-vnfd', yang_type='string', is_config=True)""",

25369 })

25370

25371 self.__name = t

25372 if hasattr(self, '_set'):

25373 self._set()

25374

25375 def _unset_name(self):

25376 self.__name = YANGDynClass(base=str, is_leaf=True, yang_name="name", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='urn:etsi:nfv:yang:etsi-nfv-vnfd', defining_module='etsi-nfv-vnfd', yang_type='string', is_config=True)

25377

25378

25379 def _get_description(self):

25380 """

25381 Getter method for description, mapped from YANG variable /vnfd/df/scaling_aspect/description (string)

25382

25383 YANG Description: Human readable description of the aspect.

25384 """

25385 return self.__description

25386

25387 def _set_description(self, v, load=False):

25388 """

25389 Setter method for description, mapped from YANG variable /vnfd/df/scaling_aspect/description (string)

25390 If this variable is read-only (config: false) in the

25391 source YANG file, then _set_description is considered as a private

25392 method. Backends looking to populate this variable should

25393 do so via calling thisObj._set_description() directly.

25394

25395 YANG Description: Human readable description of the aspect.

25396 """

25397 if hasattr(v, "_utype"):

25398 v = v._utype(v)

25399 try:

25400 t = YANGDynClass(v,base=str, is_leaf=True, yang_name="description", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='urn:etsi:nfv:yang:etsi-nfv-vnfd', defining_module='etsi-nfv-vnfd', yang_type='string', is_config=True)

25401 except (TypeError, ValueError):

25402 raise ValueError({

25403 'error-string': """description must be of a type compatible with string""",

25404 'defined-type': "string",

25405 'generated-type': """YANGDynClass(base=str, is_leaf=True, yang_name="description", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='urn:etsi:nfv:yang:etsi-nfv-vnfd', defining_module='etsi-nfv-vnfd', yang_type='string', is_config=True)""",

25406 })

25407

25408 self.__description = t

25409 if hasattr(self, '_set'):

25410 self._set()

25411

25412 def _unset_description(self):

25413 self.__description = YANGDynClass(base=str, is_leaf=True, yang_name="description", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='urn:etsi:nfv:yang:etsi-nfv-vnfd', defining_module='etsi-nfv-vnfd', yang_type='string', is_config=True)

25414

25415

25416 def _get_max_scale_level(self):

25417 """

25418 Getter method for max_scale_level, mapped from YANG variable /vnfd/df/scaling_aspect/max_scale_level (uint32)

25419

25420 YANG Description: The maximum scaleLevel for total number of scaling

25421 steps that can be applied w.r.t. this aspect. The

25422 value of this attribute corresponds to the number of

25423 scaling steps can be applied to this aspect when

25424 scaling it from the minimum scale level (i.e. 0) to the

25425 maximum scale level defined by this attribute.

25426 """

25427 return self.__max_scale_level

25428

25429 def _set_max_scale_level(self, v, load=False):

25430 """

25431 Setter method for max_scale_level, mapped from YANG variable /vnfd/df/scaling_aspect/max_scale_level (uint32)

25432 If this variable is read-only (config: false) in the

25433 source YANG file, then _set_max_scale_level is considered as a private

25434 method. Backends looking to populate this variable should

25435 do so via calling thisObj._set_max_scale_level() directly.

25436

25437 YANG Description: The maximum scaleLevel for total number of scaling

25438 steps that can be applied w.r.t. this aspect. The

25439 value of this attribute corresponds to the number of

25440 scaling steps can be applied to this aspect when

25441 scaling it from the minimum scale level (i.e. 0) to the

25442 maximum scale level defined by this attribute.

25443 """

25444 if hasattr(v, "_utype"):

25445 v = v._utype(v)

25446 try:

25447 t = YANGDynClass(v,base=RestrictedClassType(base_type=RestrictedClassType(base_type=long, restriction_dict={'range': ['0..4294967295']}, int_size=32), restriction_dict={'range': ['1..max']}), is_leaf=True, yang_name="max-scale-level", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='urn:etsi:nfv:yang:etsi-nfv-vnfd', defining_module='etsi-nfv-vnfd', yang_type='uint32', is_config=True)

25448 except (TypeError, ValueError):

25449 raise ValueError({

25450 'error-string': """max_scale_level must be of a type compatible with uint32""",

25451 'defined-type': "uint32",

25452 'generated-type': """YANGDynClass(base=RestrictedClassType(base_type=RestrictedClassType(base_type=long, restriction_dict={'range': ['0..4294967295']}, int_size=32), restriction_dict={'range': ['1..max']}), is_leaf=True, yang_name="max-scale-level", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='urn:etsi:nfv:yang:etsi-nfv-vnfd', defining_module='etsi-nfv-vnfd', yang_type='uint32', is_config=True)""",

25453 })

25454

25455 self.__max_scale_level = t

25456 if hasattr(self, '_set'):

25457 self._set()

25458

25459 def _unset_max_scale_level(self):

25460 self.__max_scale_level = YANGDynClass(base=RestrictedClassType(base_type=RestrictedClassType(base_type=long, restriction_dict={'range': ['0..4294967295']}, int_size=32), restriction_dict={'range': ['1..max']}), is_leaf=True, yang_name="max-scale-level", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='urn:etsi:nfv:yang:etsi-nfv-vnfd', defining_module='etsi-nfv-vnfd', yang_type='uint32', is_config=True)

25461

25462

25463 def _get_aspect_delta_details(self):

25464 """

25465 Getter method for aspect_delta_details, mapped from YANG variable /vnfd/df/scaling_aspect/aspect_delta_details (container)

25466

25467 YANG Description: A specification of the deltas in terms of number of

25468 instances of VNFCs and virtual link bit rates that

25469 correspond to the scaling steps of this aspect. A

25470 cardinality of zero indicates that this mapping has to

25471 be specified in a lifecycle management script or be

25472 otherwise known to the VNFM. The information in this

25473 attribute, if provided, shall be consistent with the

25474 information provided in the 'InstantiationLevel'

25475 information element. If this attribute is provided, it

25476 shall be provided for all scaling aspects.

25477 """

25478 return self.__aspect_delta_details

25479

25480 def _set_aspect_delta_details(self, v, load=False):

25481 """

25482 Setter method for aspect_delta_details, mapped from YANG variable /vnfd/df/scaling_aspect/aspect_delta_details (container)

25483 If this variable is read-only (config: false) in the

25484 source YANG file, then _set_aspect_delta_details is considered as a private

25485 method. Backends looking to populate this variable should

25486 do so via calling thisObj._set_aspect_delta_details() directly.

25487

25488 YANG Description: A specification of the deltas in terms of number of

25489 instances of VNFCs and virtual link bit rates that

25490 correspond to the scaling steps of this aspect. A

25491 cardinality of zero indicates that this mapping has to

25492 be specified in a lifecycle management script or be

25493 otherwise known to the VNFM. The information in this

25494 attribute, if provided, shall be consistent with the

25495 information provided in the 'InstantiationLevel'

25496 information element. If this attribute is provided, it

25497 shall be provided for all scaling aspects.

25498 """

25499 if hasattr(v, "_utype"):

25500 v = v._utype(v)

25501 try:

25502 t = YANGDynClass(v,base=yc_aspect_delta_details_etsi_nfv_vnfd__vnfd_df_scaling_aspect_aspect_delta_details, is_container='container', yang_name="aspect-delta-details", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, extensions=None, namespace='urn:etsi:nfv:yang:etsi-nfv-vnfd', defining_module='etsi-nfv-vnfd', yang_type='container', is_config=True)

25503 except (TypeError, ValueError):

25504 raise ValueError({

25505 'error-string': """aspect_delta_details must be of a type compatible with container""",

25506 'defined-type': "container",

25507 'generated-type': """YANGDynClass(base=yc_aspect_delta_details_etsi_nfv_vnfd__vnfd_df_scaling_aspect_aspect_delta_details, is_container='container', yang_name="aspect-delta-details", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, extensions=None, namespace='urn:etsi:nfv:yang:etsi-nfv-vnfd', defining_module='etsi-nfv-vnfd', yang_type='container', is_config=True)""",

25508 })

25509

25510 self.__aspect_delta_details = t

25511 if hasattr(self, '_set'):

25512 self._set()

25513

25514 def _unset_aspect_delta_details(self):

25515 self.__aspect_delta_details = YANGDynClass(base=yc_aspect_delta_details_etsi_nfv_vnfd__vnfd_df_scaling_aspect_aspect_delta_details, is_container='container', yang_name="aspect-delta-details", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, extensions=None, namespace='urn:etsi:nfv:yang:etsi-nfv-vnfd', defining_module='etsi-nfv-vnfd', yang_type='container', is_config=True)

25516

25517

25518 def _get_scaling_policy(self):

25519 """

25520 Getter method for scaling_policy, mapped from YANG variable /vnfd/df/scaling_aspect/scaling_policy (list)

25521 """

25522 return self.__scaling_policy

25523

25524 def _set_scaling_policy(self, v, load=False):

25525 """

25526 Setter method for scaling_policy, mapped from YANG variable /vnfd/df/scaling_aspect/scaling_policy (list)

25527 If this variable is read-only (config: false) in the

25528 source YANG file, then _set_scaling_policy is considered as a private

25529 method. Backends looking to populate this variable should

25530 do so via calling thisObj._set_scaling_policy() directly.

25531 """

25532 if hasattr(v, "_utype"):

25533 v = v._utype(v)

25534 try:

25535 t = YANGDynClass(v,base=YANGListType("name",yc_scaling_policy_etsi_nfv_vnfd__vnfd_df_scaling_aspect_scaling_policy, yang_name="scaling-policy", parent=self, is_container='list', user_ordered=False, path_helper=self._path_helper, yang_keys='name', extensions=None), is_container='list', yang_name="scaling-policy", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, extensions=None, namespace='urn:etsi:osm:yang:augments:scaling', defining_module='scaling', yang_type='list', is_config=True)

25536 except (TypeError, ValueError):

25537 raise ValueError({

25538 'error-string': """scaling_policy must be of a type compatible with list""",

25539 'defined-type': "list",

25540 'generated-type': """YANGDynClass(base=YANGListType("name",yc_scaling_policy_etsi_nfv_vnfd__vnfd_df_scaling_aspect_scaling_policy, yang_name="scaling-policy", parent=self, is_container='list', user_ordered=False, path_helper=self._path_helper, yang_keys='name', extensions=None), is_container='list', yang_name="scaling-policy", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, extensions=None, namespace='urn:etsi:osm:yang:augments:scaling', defining_module='scaling', yang_type='list', is_config=True)""",

25541 })

25542

25543 self.__scaling_policy = t

25544 if hasattr(self, '_set'):

25545 self._set()

25546

25547 def _unset_scaling_policy(self):

25548 self.__scaling_policy = YANGDynClass(base=YANGListType("name",yc_scaling_policy_etsi_nfv_vnfd__vnfd_df_scaling_aspect_scaling_policy, yang_name="scaling-policy", parent=self, is_container='list', user_ordered=False, path_helper=self._path_helper, yang_keys='name', extensions=None), is_container='list', yang_name="scaling-policy", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, extensions=None, namespace='urn:etsi:osm:yang:augments:scaling', defining_module='scaling', yang_type='list', is_config=True)

25549

25550

25551 def _get_scaling_config_action(self):

25552 """

25553 Getter method for scaling_config_action, mapped from YANG variable /vnfd/df/scaling_aspect/scaling_config_action (list)

25554

25555 YANG Description: List of scaling config actions

25556 """

25557 return self.__scaling_config_action

25558

25559 def _set_scaling_config_action(self, v, load=False):

25560 """

25561 Setter method for scaling_config_action, mapped from YANG variable /vnfd/df/scaling_aspect/scaling_config_action (list)

25562 If this variable is read-only (config: false) in the

25563 source YANG file, then _set_scaling_config_action is considered as a private

25564 method. Backends looking to populate this variable should

25565 do so via calling thisObj._set_scaling_config_action() directly.

25566

25567 YANG Description: List of scaling config actions

25568 """

25569 if hasattr(v, "_utype"):

25570 v = v._utype(v)

25571 try:

25572 t = YANGDynClass(v,base=YANGListType("trigger",yc_scaling_config_action_etsi_nfv_vnfd__vnfd_df_scaling_aspect_scaling_config_action, yang_name="scaling-config-action", parent=self, is_container='list', user_ordered=False, path_helper=self._path_helper, yang_keys='trigger', extensions=None), is_container='list', yang_name="scaling-config-action", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, extensions=None, namespace='urn:etsi:osm:yang:augments:scaling', defining_module='scaling', yang_type='list', is_config=True)

25573 except (TypeError, ValueError):

25574 raise ValueError({

25575 'error-string': """scaling_config_action must be of a type compatible with list""",

25576 'defined-type': "list",

25577 'generated-type': """YANGDynClass(base=YANGListType("trigger",yc_scaling_config_action_etsi_nfv_vnfd__vnfd_df_scaling_aspect_scaling_config_action, yang_name="scaling-config-action", parent=self, is_container='list', user_ordered=False, path_helper=self._path_helper, yang_keys='trigger', extensions=None), is_container='list', yang_name="scaling-config-action", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, extensions=None, namespace='urn:etsi:osm:yang:augments:scaling', defining_module='scaling', yang_type='list', is_config=True)""",

25578 })

25579

25580 self.__scaling_config_action = t

25581 if hasattr(self, '_set'):

25582 self._set()

25583

25584 def _unset_scaling_config_action(self):

25585 self.__scaling_config_action = YANGDynClass(base=YANGListType("trigger",yc_scaling_config_action_etsi_nfv_vnfd__vnfd_df_scaling_aspect_scaling_config_action, yang_name="scaling-config-action", parent=self, is_container='list', user_ordered=False, path_helper=self._path_helper, yang_keys='trigger', extensions=None), is_container='list', yang_name="scaling-config-action", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, extensions=None, namespace='urn:etsi:osm:yang:augments:scaling', defining_module='scaling', yang_type='list', is_config=True)

25586

25587 id = __builtin__.property(_get_id, _set_id)

25588 name = __builtin__.property(_get_name, _set_name)

25589 description = __builtin__.property(_get_description, _set_description)

25590 max_scale_level = __builtin__.property(_get_max_scale_level, _set_max_scale_level)

25591 aspect_delta_details = __builtin__.property(_get_aspect_delta_details, _set_aspect_delta_details)

25592 scaling_policy = __builtin__.property(_get_scaling_policy, _set_scaling_policy)

25593 scaling_config_action = __builtin__.property(_get_scaling_config_action, _set_scaling_config_action)

25594

25595

25596 _pyangbind_elements = OrderedDict([('id', id), ('name', name), ('description', description), ('max_scale_level', max_scale_level), ('aspect_delta_details', aspect_delta_details), ('scaling_policy', scaling_policy), ('scaling_config_action', scaling_config_action), ])

25597

25598

25599 class yc_exporters_endpoints_etsi_nfv_vnfd__vnfd_df_exporters_endpoints(PybindBase):

25600 """

25601 This class was auto-generated by the PythonClass plugin for PYANG

25602 from YANG module etsi-nfv-vnfd - based on the path /vnfd/df/exporters-endpoints. Each member element of

25603 the container is represented as a class variable - with a specific

25604 YANG type.

25605 """

25606 __slots__ = ('_path_helper', '_extmethods', '__metric_path','__metric_port','__external_connection_point_ref',)

25607

25608 _yang_name = 'exporters-endpoints'

25609 _yang_namespace = 'urn:etsi:nfv:yang:etsi-nfv-vnfd'

25610

25611 _pybind_generated_by = 'container'

25612

25613 def __init__(self, *args, **kwargs):

25614

25615 self._path_helper = False

25616

25617 self._extmethods = False

25618 self.__metric_path = YANGDynClass(base=str, is_leaf=True, yang_name="metric-path", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='urn:etsi:osm:yang:augments:exporters', defining_module='exporters', yang_type='string', is_config=True)

25619 self.__metric_port = YANGDynClass(base=RestrictedClassType(base_type=int, restriction_dict={'range': ['0..65535']},int_size=16), is_leaf=True, yang_name="metric-port", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='urn:etsi:osm:yang:augments:exporters', defining_module='exporters', yang_type='uint16', is_config=True)

25620 self.__external_connection_point_ref = YANGDynClass(base=str, is_leaf=True, yang_name="external-connection-point-ref", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='urn:etsi:osm:yang:augments:exporters', defining_module='exporters', yang_type='leafref', is_config=True)

25621

25622 load = kwargs.pop("load", None)

25623 if args:

25624 if len(args) > 1:

25625 raise TypeError("cannot create a YANG container with >1 argument")

25626 all_attr = True

25627 for e in self._pyangbind_elements:

25628 if not hasattr(args[0], e):

25629 all_attr = False

25630 break

25631 if not all_attr:

25632 raise ValueError("Supplied object did not have the correct attributes")

25633 for e in self._pyangbind_elements:

25634 nobj = getattr(args[0], e)

25635 if nobj._changed() is False:

25636 continue

25637 setmethod = getattr(self, "_set_%s" % e)

25638 if load is None:

25639 setmethod(getattr(args[0], e))

25640 else:

25641 setmethod(getattr(args[0], e), load=load)

25642

25643 def _path(self):

25644 if hasattr(self, "_parent"):

25645 return self._parent._path()+[self._yang_name]

25646 else:

25647 return ['vnfd', 'df', 'exporters-endpoints']

25648

25649 def _get_metric_path(self):

25650 """

25651 Getter method for metric_path, mapped from YANG variable /vnfd/df/exporters_endpoints/metric_path (string)

25652

25653 YANG Description: The path to scrape metric from VNF

25654 """

25655 return self.__metric_path

25656

25657 def _set_metric_path(self, v, load=False):

25658 """

25659 Setter method for metric_path, mapped from YANG variable /vnfd/df/exporters_endpoints/metric_path (string)

25660 If this variable is read-only (config: false) in the

25661 source YANG file, then _set_metric_path is considered as a private

25662 method. Backends looking to populate this variable should

25663 do so via calling thisObj._set_metric_path() directly.

25664

25665 YANG Description: The path to scrape metric from VNF

25666 """

25667 if hasattr(v, "_utype"):

25668 v = v._utype(v)

25669 try:

25670 t = YANGDynClass(v,base=str, is_leaf=True, yang_name="metric-path", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='urn:etsi:osm:yang:augments:exporters', defining_module='exporters', yang_type='string', is_config=True)

25671 except (TypeError, ValueError):

25672 raise ValueError({

25673 'error-string': """metric_path must be of a type compatible with string""",

25674 'defined-type': "string",

25675 'generated-type': """YANGDynClass(base=str, is_leaf=True, yang_name="metric-path", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='urn:etsi:osm:yang:augments:exporters', defining_module='exporters', yang_type='string', is_config=True)""",

25676 })

25677

25678 self.__metric_path = t

25679 if hasattr(self, '_set'):

25680 self._set()

25681

25682 def _unset_metric_path(self):

25683 self.__metric_path = YANGDynClass(base=str, is_leaf=True, yang_name="metric-path", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='urn:etsi:osm:yang:augments:exporters', defining_module='exporters', yang_type='string', is_config=True)

25684

25685

25686 def _get_metric_port(self):

25687 """

25688 Getter method for metric_port, mapped from YANG variable /vnfd/df/exporters_endpoints/metric_port (uint16)

25689

25690 YANG Description: Port to scrape metric from VNF

25691 """

25692 return self.__metric_port

25693

25694 def _set_metric_port(self, v, load=False):

25695 """

25696 Setter method for metric_port, mapped from YANG variable /vnfd/df/exporters_endpoints/metric_port (uint16)

25697 If this variable is read-only (config: false) in the

25698 source YANG file, then _set_metric_port is considered as a private

25699 method. Backends looking to populate this variable should

25700 do so via calling thisObj._set_metric_port() directly.

25701

25702 YANG Description: Port to scrape metric from VNF

25703 """

25704 if hasattr(v, "_utype"):

25705 v = v._utype(v)

25706 try:

25707 t = YANGDynClass(v,base=RestrictedClassType(base_type=int, restriction_dict={'range': ['0..65535']},int_size=16), is_leaf=True, yang_name="metric-port", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='urn:etsi:osm:yang:augments:exporters', defining_module='exporters', yang_type='uint16', is_config=True)

25708 except (TypeError, ValueError):

25709 raise ValueError({

25710 'error-string': """metric_port must be of a type compatible with uint16""",

25711 'defined-type': "uint16",

25712 'generated-type': """YANGDynClass(base=RestrictedClassType(base_type=int, restriction_dict={'range': ['0..65535']},int_size=16), is_leaf=True, yang_name="metric-port", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='urn:etsi:osm:yang:augments:exporters', defining_module='exporters', yang_type='uint16', is_config=True)""",

25713 })

25714

25715 self.__metric_port = t

25716 if hasattr(self, '_set'):

25717 self._set()

25718

25719 def _unset_metric_port(self):

25720 self.__metric_port = YANGDynClass(base=RestrictedClassType(base_type=int, restriction_dict={'range': ['0..65535']},int_size=16), is_leaf=True, yang_name="metric-port", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='urn:etsi:osm:yang:augments:exporters', defining_module='exporters', yang_type='uint16', is_config=True)

25721

25722

25723 def _get_external_connection_point_ref(self):

25724 """

25725 Getter method for external_connection_point_ref, mapped from YANG variable /vnfd/df/exporters_endpoints/external_connection_point_ref (leafref)

25726

25727 YANG Description: Representing a leafref reference to the particular external connection point

25728 """

25729 return self.__external_connection_point_ref

25730

25731 def _set_external_connection_point_ref(self, v, load=False):

25732 """

25733 Setter method for external_connection_point_ref, mapped from YANG variable /vnfd/df/exporters_endpoints/external_connection_point_ref (leafref)

25734 If this variable is read-only (config: false) in the

25735 source YANG file, then _set_external_connection_point_ref is considered as a private

25736 method. Backends looking to populate this variable should

25737 do so via calling thisObj._set_external_connection_point_ref() directly.

25738

25739 YANG Description: Representing a leafref reference to the particular external connection point

25740 """

25741 if hasattr(v, "_utype"):

25742 v = v._utype(v)

25743 try:

25744 t = YANGDynClass(v,base=str, is_leaf=True, yang_name="external-connection-point-ref", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='urn:etsi:osm:yang:augments:exporters', defining_module='exporters', yang_type='leafref', is_config=True)

25745 except (TypeError, ValueError):

25746 raise ValueError({

25747 'error-string': """external_connection_point_ref must be of a type compatible with leafref""",

25748 'defined-type': "leafref",

25749 'generated-type': """YANGDynClass(base=str, is_leaf=True, yang_name="external-connection-point-ref", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='urn:etsi:osm:yang:augments:exporters', defining_module='exporters', yang_type='leafref', is_config=True)""",

25750 })

25751

25752 self.__external_connection_point_ref = t

25753 if hasattr(self, '_set'):

25754 self._set()

25755

25756 def _unset_external_connection_point_ref(self):

25757 self.__external_connection_point_ref = YANGDynClass(base=str, is_leaf=True, yang_name="external-connection-point-ref", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='urn:etsi:osm:yang:augments:exporters', defining_module='exporters', yang_type='leafref', is_config=True)

25758

25759 metric_path = __builtin__.property(_get_metric_path, _set_metric_path)

25760 metric_port = __builtin__.property(_get_metric_port, _set_metric_port)

25761 external_connection_point_ref = __builtin__.property(_get_external_connection_point_ref, _set_external_connection_point_ref)

25762

25763

25764 _pyangbind_elements = OrderedDict([('metric_path', metric_path), ('metric_port', metric_port), ('external_connection_point_ref', external_connection_point_ref), ])

25765

25766

25767 class yc_healing_policy_etsi_nfv_vnfd__vnfd_df_healing_aspect_healing_policy(PybindBase):

25768 """

25769 This class was auto-generated by the PythonClass plugin for PYANG

25770 from YANG module etsi-nfv-vnfd - based on the path /vnfd/df/healing-aspect/healing-policy. Each member element of

25771 the container is represented as a class variable - with a specific

25772 YANG type.

25773 """

25774 __slots__ = ('_path_helper', '_extmethods', '__vdu_id','__event_name','__recovery_type','__action_on_recovery','__cooldown_time','__day1',)

25775

25776 _yang_name = 'healing-policy'

25777 _yang_namespace = 'urn:etsi:nfv:yang:etsi-nfv-vnfd'

25778

25779 _pybind_generated_by = 'container'

25780

25781 def __init__(self, *args, **kwargs):

25782

25783 self._path_helper = False

25784

25785 self._extmethods = False

25786 self.__vdu_id = YANGDynClass(base=str, is_leaf=True, yang_name="vdu-id", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, is_keyval=True, namespace='urn:etsi:osm:yang:augments:healing', defining_module='healing', yang_type='string', is_config=True)

25787 self.__event_name = YANGDynClass(base=str, is_leaf=True, yang_name="event-name", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='urn:etsi:osm:yang:augments:healing', defining_module='healing', yang_type='string', is_config=True)

25788 self.__recovery_type = YANGDynClass(base=RestrictedClassType(base_type=str, restriction_type="dict_key", restriction_arg={'manual': {'value': 1}, 'automatic': {'value': 2}},), is_leaf=True, yang_name="recovery-type", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='urn:etsi:osm:yang:augments:healing', defining_module='healing', yang_type='recovery-type', is_config=True)

25789 self.__action_on_recovery = YANGDynClass(base=RestrictedClassType(base_type=str, restriction_type="dict_key", restriction_arg={'REDEPLOY_ONLY': {'value': 1}, 'REBOOT': {'value': 2}, 'REBOOT_THEN_REDEPLOY': {'value': 3}},), is_leaf=True, yang_name="action-on-recovery", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='urn:etsi:osm:yang:augments:healing', defining_module='healing', yang_type='recovery-actions', is_config=True)

25790 self.__cooldown_time = YANGDynClass(base=RestrictedClassType(base_type=long, restriction_dict={'range': ['0..4294967295']}, int_size=32), is_leaf=True, yang_name="cooldown-time", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='urn:etsi:osm:yang:augments:healing', defining_module='healing', yang_type='uint32', is_config=True)

25791 self.__day1 = YANGDynClass(base=YANGBool, default=YANGBool("false"), is_leaf=True, yang_name="day1", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='urn:etsi:osm:yang:augments:healing', defining_module='healing', yang_type='boolean', is_config=True)

25792

25793 load = kwargs.pop("load", None)

25794 if args:

25795 if len(args) > 1:

25796 raise TypeError("cannot create a YANG container with >1 argument")

25797 all_attr = True

25798 for e in self._pyangbind_elements:

25799 if not hasattr(args[0], e):

25800 all_attr = False

25801 break

25802 if not all_attr:

25803 raise ValueError("Supplied object did not have the correct attributes")

25804 for e in self._pyangbind_elements:

25805 nobj = getattr(args[0], e)

25806 if nobj._changed() is False:

25807 continue

25808 setmethod = getattr(self, "_set_%s" % e)

25809 if load is None:

25810 setmethod(getattr(args[0], e))

25811 else:

25812 setmethod(getattr(args[0], e), load=load)

25813

25814 def _path(self):

25815 if hasattr(self, "_parent"):

25816 return self._parent._path()+[self._yang_name]

25817 else:

25818 return ['vnfd', 'df', 'healing-aspect', 'healing-policy']

25819

25820 def _get_vdu_id(self):

25821 """

25822 Getter method for vdu_id, mapped from YANG variable /vnfd/df/healing_aspect/healing_policy/vdu_id (string)

25823

25824 YANG Description: Identifier of vdu

25825 """

25826 return self.__vdu_id

25827

25828 def _set_vdu_id(self, v, load=False):

25829 """

25830 Setter method for vdu_id, mapped from YANG variable /vnfd/df/healing_aspect/healing_policy/vdu_id (string)

25831 If this variable is read-only (config: false) in the

25832 source YANG file, then _set_vdu_id is considered as a private

25833 method. Backends looking to populate this variable should

25834 do so via calling thisObj._set_vdu_id() directly.

25835

25836 YANG Description: Identifier of vdu

25837 """

25838 parent = getattr(self, "_parent", None)

25839 if parent is not None and load is False:

25840 raise AttributeError("Cannot set keys directly when" +

25841 " within an instantiated list")

25842

25843 if hasattr(v, "_utype"):

25844 v = v._utype(v)

25845 try:

25846 t = YANGDynClass(v,base=str, is_leaf=True, yang_name="vdu-id", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, is_keyval=True, namespace='urn:etsi:osm:yang:augments:healing', defining_module='healing', yang_type='string', is_config=True)

25847 except (TypeError, ValueError):

25848 raise ValueError({

25849 'error-string': """vdu_id must be of a type compatible with string""",

25850 'defined-type': "string",

25851 'generated-type': """YANGDynClass(base=str, is_leaf=True, yang_name="vdu-id", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, is_keyval=True, namespace='urn:etsi:osm:yang:augments:healing', defining_module='healing', yang_type='string', is_config=True)""",

25852 })

25853

25854 self.__vdu_id = t

25855 if hasattr(self, '_set'):

25856 self._set()

25857

25858 def _unset_vdu_id(self):

25859 self.__vdu_id = YANGDynClass(base=str, is_leaf=True, yang_name="vdu-id", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, is_keyval=True, namespace='urn:etsi:osm:yang:augments:healing', defining_module='healing', yang_type='string', is_config=True)

25860

25861

25862 def _get_event_name(self):

25863 """

25864 Getter method for event_name, mapped from YANG variable /vnfd/df/healing_aspect/healing_policy/event_name (string)

25865

25866 YANG Description: Describing the event name for healing

25867 """

25868 return self.__event_name

25869

25870 def _set_event_name(self, v, load=False):

25871 """

25872 Setter method for event_name, mapped from YANG variable /vnfd/df/healing_aspect/healing_policy/event_name (string)

25873 If this variable is read-only (config: false) in the

25874 source YANG file, then _set_event_name is considered as a private

25875 method. Backends looking to populate this variable should

25876 do so via calling thisObj._set_event_name() directly.

25877

25878 YANG Description: Describing the event name for healing

25879 """

25880 if hasattr(v, "_utype"):

25881 v = v._utype(v)

25882 try:

25883 t = YANGDynClass(v,base=str, is_leaf=True, yang_name="event-name", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='urn:etsi:osm:yang:augments:healing', defining_module='healing', yang_type='string', is_config=True)

25884 except (TypeError, ValueError):

25885 raise ValueError({

25886 'error-string': """event_name must be of a type compatible with string""",

25887 'defined-type': "string",

25888 'generated-type': """YANGDynClass(base=str, is_leaf=True, yang_name="event-name", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='urn:etsi:osm:yang:augments:healing', defining_module='healing', yang_type='string', is_config=True)""",

25889 })

25890

25891 self.__event_name = t

25892 if hasattr(self, '_set'):

25893 self._set()

25894

25895 def _unset_event_name(self):

25896 self.__event_name = YANGDynClass(base=str, is_leaf=True, yang_name="event-name", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='urn:etsi:osm:yang:augments:healing', defining_module='healing', yang_type='string', is_config=True)

25897

25898

25899 def _get_recovery_type(self):

25900 """

25901 Getter method for recovery_type, mapped from YANG variable /vnfd/df/healing_aspect/healing_policy/recovery_type (recovery-type)

25902

25903 YANG Description: Type of healing recovery

25904 """

25905 return self.__recovery_type

25906

25907 def _set_recovery_type(self, v, load=False):

25908 """

25909 Setter method for recovery_type, mapped from YANG variable /vnfd/df/healing_aspect/healing_policy/recovery_type (recovery-type)

25910 If this variable is read-only (config: false) in the

25911 source YANG file, then _set_recovery_type is considered as a private

25912 method. Backends looking to populate this variable should

25913 do so via calling thisObj._set_recovery_type() directly.

25914

25915 YANG Description: Type of healing recovery

25916 """

25917 if hasattr(v, "_utype"):

25918 v = v._utype(v)

25919 try:

25920 t = YANGDynClass(v,base=RestrictedClassType(base_type=str, restriction_type="dict_key", restriction_arg={'manual': {'value': 1}, 'automatic': {'value': 2}},), is_leaf=True, yang_name="recovery-type", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='urn:etsi:osm:yang:augments:healing', defining_module='healing', yang_type='recovery-type', is_config=True)

25921 except (TypeError, ValueError):

25922 raise ValueError({

25923 'error-string': """recovery_type must be of a type compatible with recovery-type""",

25924 'defined-type': "healing:recovery-type",

25925 'generated-type': """YANGDynClass(base=RestrictedClassType(base_type=str, restriction_type="dict_key", restriction_arg={'manual': {'value': 1}, 'automatic': {'value': 2}},), is_leaf=True, yang_name="recovery-type", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='urn:etsi:osm:yang:augments:healing', defining_module='healing', yang_type='recovery-type', is_config=True)""",

25926 })

25927

25928 self.__recovery_type = t

25929 if hasattr(self, '_set'):

25930 self._set()

25931

25932 def _unset_recovery_type(self):

25933 self.__recovery_type = YANGDynClass(base=RestrictedClassType(base_type=str, restriction_type="dict_key", restriction_arg={'manual': {'value': 1}, 'automatic': {'value': 2}},), is_leaf=True, yang_name="recovery-type", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='urn:etsi:osm:yang:augments:healing', defining_module='healing', yang_type='recovery-type', is_config=True)

25934

25935

25936 def _get_action_on_recovery(self):

25937 """

25938 Getter method for action_on_recovery, mapped from YANG variable /vnfd/df/healing_aspect/healing_policy/action_on_recovery (recovery-actions)

25939

25940 YANG Description: Recovery actions for healing

25941 """

25942 return self.__action_on_recovery

25943

25944 def _set_action_on_recovery(self, v, load=False):

25945 """

25946 Setter method for action_on_recovery, mapped from YANG variable /vnfd/df/healing_aspect/healing_policy/action_on_recovery (recovery-actions)

25947 If this variable is read-only (config: false) in the

25948 source YANG file, then _set_action_on_recovery is considered as a private

25949 method. Backends looking to populate this variable should

25950 do so via calling thisObj._set_action_on_recovery() directly.

25951

25952 YANG Description: Recovery actions for healing

25953 """

25954 if hasattr(v, "_utype"):

25955 v = v._utype(v)

25956 try:

25957 t = YANGDynClass(v,base=RestrictedClassType(base_type=str, restriction_type="dict_key", restriction_arg={'REDEPLOY_ONLY': {'value': 1}, 'REBOOT': {'value': 2}, 'REBOOT_THEN_REDEPLOY': {'value': 3}},), is_leaf=True, yang_name="action-on-recovery", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='urn:etsi:osm:yang:augments:healing', defining_module='healing', yang_type='recovery-actions', is_config=True)

25958 except (TypeError, ValueError):

25959 raise ValueError({

25960 'error-string': """action_on_recovery must be of a type compatible with recovery-actions""",

25961 'defined-type': "healing:recovery-actions",

25962 'generated-type': """YANGDynClass(base=RestrictedClassType(base_type=str, restriction_type="dict_key", restriction_arg={'REDEPLOY_ONLY': {'value': 1}, 'REBOOT': {'value': 2}, 'REBOOT_THEN_REDEPLOY': {'value': 3}},), is_leaf=True, yang_name="action-on-recovery", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='urn:etsi:osm:yang:augments:healing', defining_module='healing', yang_type='recovery-actions', is_config=True)""",

25963 })

25964

25965 self.__action_on_recovery = t

25966 if hasattr(self, '_set'):

25967 self._set()

25968

25969 def _unset_action_on_recovery(self):

25970 self.__action_on_recovery = YANGDynClass(base=RestrictedClassType(base_type=str, restriction_type="dict_key", restriction_arg={'REDEPLOY_ONLY': {'value': 1}, 'REBOOT': {'value': 2}, 'REBOOT_THEN_REDEPLOY': {'value': 3}},), is_leaf=True, yang_name="action-on-recovery", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='urn:etsi:osm:yang:augments:healing', defining_module='healing', yang_type='recovery-actions', is_config=True)

25971

25972

25973 def _get_cooldown_time(self):

25974 """

25975 Getter method for cooldown_time, mapped from YANG variable /vnfd/df/healing_aspect/healing_policy/cooldown_time (uint32)

25976

25977 YANG Description: The duration after a healing action has been

25978 triggered, for which there will be no further optional

25979 """

25980 return self.__cooldown_time

25981

25982 def _set_cooldown_time(self, v, load=False):

25983 """

25984 Setter method for cooldown_time, mapped from YANG variable /vnfd/df/healing_aspect/healing_policy/cooldown_time (uint32)

25985 If this variable is read-only (config: false) in the

25986 source YANG file, then _set_cooldown_time is considered as a private

25987 method. Backends looking to populate this variable should

25988 do so via calling thisObj._set_cooldown_time() directly.

25989

25990 YANG Description: The duration after a healing action has been

25991 triggered, for which there will be no further optional

25992 """

25993 if hasattr(v, "_utype"):

25994 v = v._utype(v)

25995 try:

25996 t = YANGDynClass(v,base=RestrictedClassType(base_type=long, restriction_dict={'range': ['0..4294967295']}, int_size=32), is_leaf=True, yang_name="cooldown-time", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='urn:etsi:osm:yang:augments:healing', defining_module='healing', yang_type='uint32', is_config=True)

25997 except (TypeError, ValueError):

25998 raise ValueError({

25999 'error-string': """cooldown_time must be of a type compatible with uint32""",

26000 'defined-type': "uint32",

26001 'generated-type': """YANGDynClass(base=RestrictedClassType(base_type=long, restriction_dict={'range': ['0..4294967295']}, int_size=32), is_leaf=True, yang_name="cooldown-time", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='urn:etsi:osm:yang:augments:healing', defining_module='healing', yang_type='uint32', is_config=True)""",

26002 })

26003

26004 self.__cooldown_time = t

26005 if hasattr(self, '_set'):

26006 self._set()

26007

26008 def _unset_cooldown_time(self):

26009 self.__cooldown_time = YANGDynClass(base=RestrictedClassType(base_type=long, restriction_dict={'range': ['0..4294967295']}, int_size=32), is_leaf=True, yang_name="cooldown-time", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='urn:etsi:osm:yang:augments:healing', defining_module='healing', yang_type='uint32', is_config=True)

26010

26011

26012 def _get_day1(self):

26013 """

26014 Getter method for day1, mapped from YANG variable /vnfd/df/healing_aspect/healing_policy/day1 (boolean)

26015

26016 YANG Description: Specifies if the day1 operations can be applied

26017 """

26018 return self.__day1

26019

26020 def _set_day1(self, v, load=False):

26021 """

26022 Setter method for day1, mapped from YANG variable /vnfd/df/healing_aspect/healing_policy/day1 (boolean)

26023 If this variable is read-only (config: false) in the

26024 source YANG file, then _set_day1 is considered as a private

26025 method. Backends looking to populate this variable should

26026 do so via calling thisObj._set_day1() directly.

26027

26028 YANG Description: Specifies if the day1 operations can be applied

26029 """

26030 if hasattr(v, "_utype"):

26031 v = v._utype(v)

26032 try:

26033 t = YANGDynClass(v,base=YANGBool, default=YANGBool("false"), is_leaf=True, yang_name="day1", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='urn:etsi:osm:yang:augments:healing', defining_module='healing', yang_type='boolean', is_config=True)

26034 except (TypeError, ValueError):

26035 raise ValueError({

26036 'error-string': """day1 must be of a type compatible with boolean""",

26037 'defined-type': "boolean",

26038 'generated-type': """YANGDynClass(base=YANGBool, default=YANGBool("false"), is_leaf=True, yang_name="day1", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='urn:etsi:osm:yang:augments:healing', defining_module='healing', yang_type='boolean', is_config=True)""",

26039 })

26040

26041 self.__day1 = t

26042 if hasattr(self, '_set'):

26043 self._set()

26044

26045 def _unset_day1(self):

26046 self.__day1 = YANGDynClass(base=YANGBool, default=YANGBool("false"), is_leaf=True, yang_name="day1", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='urn:etsi:osm:yang:augments:healing', defining_module='healing', yang_type='boolean', is_config=True)

26047

26048 vdu_id = __builtin__.property(_get_vdu_id, _set_vdu_id)

26049 event_name = __builtin__.property(_get_event_name, _set_event_name)

26050 recovery_type = __builtin__.property(_get_recovery_type, _set_recovery_type)

26051 action_on_recovery = __builtin__.property(_get_action_on_recovery, _set_action_on_recovery)

26052 cooldown_time = __builtin__.property(_get_cooldown_time, _set_cooldown_time)

26053 day1 = __builtin__.property(_get_day1, _set_day1)

26054

26055

26056 _pyangbind_elements = OrderedDict([('vdu_id', vdu_id), ('event_name', event_name), ('recovery_type', recovery_type), ('action_on_recovery', action_on_recovery), ('cooldown_time', cooldown_time), ('day1', day1), ])

26057

26058

26059 class yc_healing_aspect_etsi_nfv_vnfd__vnfd_df_healing_aspect(PybindBase):

26060 """

26061 This class was auto-generated by the PythonClass plugin for PYANG

26062 from YANG module etsi-nfv-vnfd - based on the path /vnfd/df/healing-aspect. Each member element of

26063 the container is represented as a class variable - with a specific

26064 YANG type.

26065

26066 YANG Description: The healing aspects supported by this DF of the VNF.

26067 healingAspect shall be present if the VNF supports

26068 healing.

26069 """

26070 __slots__ = ('_path_helper', '_extmethods', '__id','__healing_policy',)

26071

26072 _yang_name = 'healing-aspect'

26073 _yang_namespace = 'urn:etsi:nfv:yang:etsi-nfv-vnfd'

26074

26075 _pybind_generated_by = 'container'

26076

26077 def __init__(self, *args, **kwargs):

26078

26079 self._path_helper = False

26080

26081 self._extmethods = False

26082 self.__id = YANGDynClass(base=str, is_leaf=True, yang_name="id", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, is_keyval=True, namespace='urn:etsi:osm:yang:augments:healing', defining_module='healing', yang_type='string', is_config=True)

26083 self.__healing_policy = YANGDynClass(base=YANGListType("vdu_id",yc_healing_policy_etsi_nfv_vnfd__vnfd_df_healing_aspect_healing_policy, yang_name="healing-policy", parent=self, is_container='list', user_ordered=False, path_helper=self._path_helper, yang_keys='vdu-id', extensions=None), is_container='list', yang_name="healing-policy", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, extensions=None, namespace='urn:etsi:osm:yang:augments:healing', defining_module='healing', yang_type='list', is_config=True)

26084

26085 load = kwargs.pop("load", None)

26086 if args:

26087 if len(args) > 1:

26088 raise TypeError("cannot create a YANG container with >1 argument")

26089 all_attr = True

26090 for e in self._pyangbind_elements:

26091 if not hasattr(args[0], e):

26092 all_attr = False

26093 break

26094 if not all_attr:

26095 raise ValueError("Supplied object did not have the correct attributes")

26096 for e in self._pyangbind_elements:

26097 nobj = getattr(args[0], e)

26098 if nobj._changed() is False:

26099 continue

26100 setmethod = getattr(self, "_set_%s" % e)

26101 if load is None:

26102 setmethod(getattr(args[0], e))

26103 else:

26104 setmethod(getattr(args[0], e), load=load)

26105

26106 def _path(self):

26107 if hasattr(self, "_parent"):

26108 return self._parent._path()+[self._yang_name]

26109 else:

26110 return ['vnfd', 'df', 'healing-aspect']

26111

26112 def _get_id(self):

26113 """

26114 Getter method for id, mapped from YANG variable /vnfd/df/healing_aspect/id (string)

26115

26116 YANG Description: Unique identifier of this aspect in the VNFD.

26117 """

26118 return self.__id

26119

26120 def _set_id(self, v, load=False):

26121 """

26122 Setter method for id, mapped from YANG variable /vnfd/df/healing_aspect/id (string)

26123 If this variable is read-only (config: false) in the

26124 source YANG file, then _set_id is considered as a private

26125 method. Backends looking to populate this variable should

26126 do so via calling thisObj._set_id() directly.

26127

26128 YANG Description: Unique identifier of this aspect in the VNFD.

26129 """

26130 parent = getattr(self, "_parent", None)

26131 if parent is not None and load is False:

26132 raise AttributeError("Cannot set keys directly when" +

26133 " within an instantiated list")

26134

26135 if hasattr(v, "_utype"):

26136 v = v._utype(v)

26137 try:

26138 t = YANGDynClass(v,base=str, is_leaf=True, yang_name="id", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, is_keyval=True, namespace='urn:etsi:osm:yang:augments:healing', defining_module='healing', yang_type='string', is_config=True)

26139 except (TypeError, ValueError):

26140 raise ValueError({

26141 'error-string': """id must be of a type compatible with string""",

26142 'defined-type': "string",

26143 'generated-type': """YANGDynClass(base=str, is_leaf=True, yang_name="id", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, is_keyval=True, namespace='urn:etsi:osm:yang:augments:healing', defining_module='healing', yang_type='string', is_config=True)""",

26144 })

26145

26146 self.__id = t

26147 if hasattr(self, '_set'):

26148 self._set()

26149

26150 def _unset_id(self):

26151 self.__id = YANGDynClass(base=str, is_leaf=True, yang_name="id", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, is_keyval=True, namespace='urn:etsi:osm:yang:augments:healing', defining_module='healing', yang_type='string', is_config=True)

26152

26153

26154 def _get_healing_policy(self):

26155 """

26156 Getter method for healing_policy, mapped from YANG variable /vnfd/df/healing_aspect/healing_policy (list)

26157 """

26158 return self.__healing_policy

26159

26160 def _set_healing_policy(self, v, load=False):

26161 """

26162 Setter method for healing_policy, mapped from YANG variable /vnfd/df/healing_aspect/healing_policy (list)

26163 If this variable is read-only (config: false) in the

26164 source YANG file, then _set_healing_policy is considered as a private

26165 method. Backends looking to populate this variable should

26166 do so via calling thisObj._set_healing_policy() directly.

26167 """

26168 if hasattr(v, "_utype"):

26169 v = v._utype(v)

26170 try:

26171 t = YANGDynClass(v,base=YANGListType("vdu_id",yc_healing_policy_etsi_nfv_vnfd__vnfd_df_healing_aspect_healing_policy, yang_name="healing-policy", parent=self, is_container='list', user_ordered=False, path_helper=self._path_helper, yang_keys='vdu-id', extensions=None), is_container='list', yang_name="healing-policy", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, extensions=None, namespace='urn:etsi:osm:yang:augments:healing', defining_module='healing', yang_type='list', is_config=True)

26172 except (TypeError, ValueError):

26173 raise ValueError({

26174 'error-string': """healing_policy must be of a type compatible with list""",

26175 'defined-type': "list",

26176 'generated-type': """YANGDynClass(base=YANGListType("vdu_id",yc_healing_policy_etsi_nfv_vnfd__vnfd_df_healing_aspect_healing_policy, yang_name="healing-policy", parent=self, is_container='list', user_ordered=False, path_helper=self._path_helper, yang_keys='vdu-id', extensions=None), is_container='list', yang_name="healing-policy", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, extensions=None, namespace='urn:etsi:osm:yang:augments:healing', defining_module='healing', yang_type='list', is_config=True)""",

26177 })

26178

26179 self.__healing_policy = t

26180 if hasattr(self, '_set'):

26181 self._set()

26182

26183 def _unset_healing_policy(self):

26184 self.__healing_policy = YANGDynClass(base=YANGListType("vdu_id",yc_healing_policy_etsi_nfv_vnfd__vnfd_df_healing_aspect_healing_policy, yang_name="healing-policy", parent=self, is_container='list', user_ordered=False, path_helper=self._path_helper, yang_keys='vdu-id', extensions=None), is_container='list', yang_name="healing-policy", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, extensions=None, namespace='urn:etsi:osm:yang:augments:healing', defining_module='healing', yang_type='list', is_config=True)

26185

26186 id = __builtin__.property(_get_id, _set_id)

26187 healing_policy = __builtin__.property(_get_healing_policy, _set_healing_policy)

26188

26189

26190 _pyangbind_elements = OrderedDict([('id', id), ('healing_policy', healing_policy), ])

26191

26192

26193 class yc_kdu_resource_profile_etsi_nfv_vnfd__vnfd_df_kdu_resource_profile(PybindBase):

26194 """

26195 This class was auto-generated by the PythonClass plugin for PYANG

26196 from YANG module etsi-nfv-vnfd - based on the path /vnfd/df/kdu-resource-profile. Each member element of

26197 the container is represented as a class variable - with a specific

26198 YANG type.

26199

26200 YANG Description: The Kdu resource profile describes additional instantiation data for

26201 a given KDU used in a deployment flavour.

26202 """

26203 __slots__ = ('_path_helper', '_extmethods', '__id','__min_number_of_instances','__max_number_of_instances','__resource_name','__kdu_name',)

26204

26205 _yang_name = 'kdu-resource-profile'

26206 _yang_namespace = 'urn:etsi:nfv:yang:etsi-nfv-vnfd'

26207

26208 _pybind_generated_by = 'container'

26209

26210 def __init__(self, *args, **kwargs):

26211

26212 self._path_helper = False

26213

26214 self._extmethods = False

26215 self.__id = YANGDynClass(base=str, is_leaf=True, yang_name="id", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, is_keyval=True, namespace='urn:etsi:osm:yang:augments:scaling', defining_module='scaling', yang_type='string', is_config=True)

26216 self.__min_number_of_instances = YANGDynClass(base=RestrictedClassType(base_type=int, restriction_dict={'range': ['0..65535']},int_size=16), default=RestrictedClassType(base_type=int, restriction_dict={'range': ['0..65535']},int_size=16)(1), is_leaf=True, yang_name="min-number-of-instances", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='urn:etsi:osm:yang:augments:scaling', defining_module='scaling', yang_type='uint16', is_config=True)

26217 self.__max_number_of_instances = YANGDynClass(base=RestrictedClassType(base_type=int, restriction_dict={'range': ['0..65535']},int_size=16), default=RestrictedClassType(base_type=int, restriction_dict={'range': ['0..65535']},int_size=16)(1), is_leaf=True, yang_name="max-number-of-instances", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='urn:etsi:osm:yang:augments:scaling', defining_module='scaling', yang_type='uint16', is_config=True)

26218 self.__resource_name = YANGDynClass(base=str, is_leaf=True, yang_name="resource-name", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='urn:etsi:osm:yang:augments:scaling', defining_module='scaling', yang_type='string', is_config=True)

26219 self.__kdu_name = YANGDynClass(base=str, is_leaf=True, yang_name="kdu-name", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='urn:etsi:osm:yang:augments:scaling', defining_module='scaling', yang_type='leafref', is_config=True)

26220

26221 load = kwargs.pop("load", None)

26222 if args:

26223 if len(args) > 1:

26224 raise TypeError("cannot create a YANG container with >1 argument")

26225 all_attr = True

26226 for e in self._pyangbind_elements:

26227 if not hasattr(args[0], e):

26228 all_attr = False

26229 break

26230 if not all_attr:

26231 raise ValueError("Supplied object did not have the correct attributes")

26232 for e in self._pyangbind_elements:

26233 nobj = getattr(args[0], e)

26234 if nobj._changed() is False:

26235 continue

26236 setmethod = getattr(self, "_set_%s" % e)

26237 if load is None:

26238 setmethod(getattr(args[0], e))

26239 else:

26240 setmethod(getattr(args[0], e), load=load)

26241

26242 def _path(self):

26243 if hasattr(self, "_parent"):

26244 return self._parent._path()+[self._yang_name]

26245 else:

26246 return ['vnfd', 'df', 'kdu-resource-profile']

26247

26248 def _get_id(self):

26249 """

26250 Getter method for id, mapped from YANG variable /vnfd/df/kdu_resource_profile/id (string)

26251 """

26252 return self.__id

26253

26254 def _set_id(self, v, load=False):

26255 """

26256 Setter method for id, mapped from YANG variable /vnfd/df/kdu_resource_profile/id (string)

26257 If this variable is read-only (config: false) in the

26258 source YANG file, then _set_id is considered as a private

26259 method. Backends looking to populate this variable should

26260 do so via calling thisObj._set_id() directly.

26261 """

26262 parent = getattr(self, "_parent", None)

26263 if parent is not None and load is False:

26264 raise AttributeError("Cannot set keys directly when" +

26265 " within an instantiated list")

26266

26267 if hasattr(v, "_utype"):

26268 v = v._utype(v)

26269 try:

26270 t = YANGDynClass(v,base=str, is_leaf=True, yang_name="id", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, is_keyval=True, namespace='urn:etsi:osm:yang:augments:scaling', defining_module='scaling', yang_type='string', is_config=True)

26271 except (TypeError, ValueError):

26272 raise ValueError({

26273 'error-string': """id must be of a type compatible with string""",

26274 'defined-type': "string",

26275 'generated-type': """YANGDynClass(base=str, is_leaf=True, yang_name="id", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, is_keyval=True, namespace='urn:etsi:osm:yang:augments:scaling', defining_module='scaling', yang_type='string', is_config=True)""",

26276 })

26277

26278 self.__id = t

26279 if hasattr(self, '_set'):

26280 self._set()

26281

26282 def _unset_id(self):

26283 self.__id = YANGDynClass(base=str, is_leaf=True, yang_name="id", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, is_keyval=True, namespace='urn:etsi:osm:yang:augments:scaling', defining_module='scaling', yang_type='string', is_config=True)

26284

26285

26286 def _get_min_number_of_instances(self):

26287 """

26288 Getter method for min_number_of_instances, mapped from YANG variable /vnfd/df/kdu_resource_profile/min_number_of_instances (uint16)

26289

26290 YANG Description: Minimum number of instances of the KNFC based on this

26291 KDU resource that is permitted to exist for this flavour.

26292 """

26293 return self.__min_number_of_instances

26294

26295 def _set_min_number_of_instances(self, v, load=False):

26296 """

26297 Setter method for min_number_of_instances, mapped from YANG variable /vnfd/df/kdu_resource_profile/min_number_of_instances (uint16)

26298 If this variable is read-only (config: false) in the

26299 source YANG file, then _set_min_number_of_instances is considered as a private

26300 method. Backends looking to populate this variable should

26301 do so via calling thisObj._set_min_number_of_instances() directly.

26302

26303 YANG Description: Minimum number of instances of the KNFC based on this

26304 KDU resource that is permitted to exist for this flavour.

26305 """

26306 if hasattr(v, "_utype"):

26307 v = v._utype(v)

26308 try:

26309 t = YANGDynClass(v,base=RestrictedClassType(base_type=int, restriction_dict={'range': ['0..65535']},int_size=16), default=RestrictedClassType(base_type=int, restriction_dict={'range': ['0..65535']},int_size=16)(1), is_leaf=True, yang_name="min-number-of-instances", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='urn:etsi:osm:yang:augments:scaling', defining_module='scaling', yang_type='uint16', is_config=True)

26310 except (TypeError, ValueError):

26311 raise ValueError({

26312 'error-string': """min_number_of_instances must be of a type compatible with uint16""",

26313 'defined-type': "uint16",

26314 'generated-type': """YANGDynClass(base=RestrictedClassType(base_type=int, restriction_dict={'range': ['0..65535']},int_size=16), default=RestrictedClassType(base_type=int, restriction_dict={'range': ['0..65535']},int_size=16)(1), is_leaf=True, yang_name="min-number-of-instances", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='urn:etsi:osm:yang:augments:scaling', defining_module='scaling', yang_type='uint16', is_config=True)""",

26315 })

26316

26317 self.__min_number_of_instances = t

26318 if hasattr(self, '_set'):

26319 self._set()

26320

26321 def _unset_min_number_of_instances(self):

26322 self.__min_number_of_instances = YANGDynClass(base=RestrictedClassType(base_type=int, restriction_dict={'range': ['0..65535']},int_size=16), default=RestrictedClassType(base_type=int, restriction_dict={'range': ['0..65535']},int_size=16)(1), is_leaf=True, yang_name="min-number-of-instances", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='urn:etsi:osm:yang:augments:scaling', defining_module='scaling', yang_type='uint16', is_config=True)

26323

26324

26325 def _get_max_number_of_instances(self):

26326 """

26327 Getter method for max_number_of_instances, mapped from YANG variable /vnfd/df/kdu_resource_profile/max_number_of_instances (uint16)

26328 """

26329 return self.__max_number_of_instances

26330

26331 def _set_max_number_of_instances(self, v, load=False):

26332 """

26333 Setter method for max_number_of_instances, mapped from YANG variable /vnfd/df/kdu_resource_profile/max_number_of_instances (uint16)

26334 If this variable is read-only (config: false) in the

26335 source YANG file, then _set_max_number_of_instances is considered as a private

26336 method. Backends looking to populate this variable should

26337 do so via calling thisObj._set_max_number_of_instances() directly.

26338 """

26339 if hasattr(v, "_utype"):

26340 v = v._utype(v)

26341 try:

26342 t = YANGDynClass(v,base=RestrictedClassType(base_type=int, restriction_dict={'range': ['0..65535']},int_size=16), default=RestrictedClassType(base_type=int, restriction_dict={'range': ['0..65535']},int_size=16)(1), is_leaf=True, yang_name="max-number-of-instances", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='urn:etsi:osm:yang:augments:scaling', defining_module='scaling', yang_type='uint16', is_config=True)

26343 except (TypeError, ValueError):

26344 raise ValueError({

26345 'error-string': """max_number_of_instances must be of a type compatible with uint16""",

26346 'defined-type': "uint16",

26347 'generated-type': """YANGDynClass(base=RestrictedClassType(base_type=int, restriction_dict={'range': ['0..65535']},int_size=16), default=RestrictedClassType(base_type=int, restriction_dict={'range': ['0..65535']},int_size=16)(1), is_leaf=True, yang_name="max-number-of-instances", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='urn:etsi:osm:yang:augments:scaling', defining_module='scaling', yang_type='uint16', is_config=True)""",

26348 })

26349

26350 self.__max_number_of_instances = t

26351 if hasattr(self, '_set'):

26352 self._set()

26353

26354 def _unset_max_number_of_instances(self):

26355 self.__max_number_of_instances = YANGDynClass(base=RestrictedClassType(base_type=int, restriction_dict={'range': ['0..65535']},int_size=16), default=RestrictedClassType(base_type=int, restriction_dict={'range': ['0..65535']},int_size=16)(1), is_leaf=True, yang_name="max-number-of-instances", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='urn:etsi:osm:yang:augments:scaling', defining_module='scaling', yang_type='uint16', is_config=True)

26356

26357

26358 def _get_resource_name(self):

26359 """

26360 Getter method for resource_name, mapped from YANG variable /vnfd/df/kdu_resource_profile/resource_name (string)

26361

26362 YANG Description: Name of the application of KDU

26363 """

26364 return self.__resource_name

26365

26366 def _set_resource_name(self, v, load=False):

26367 """

26368 Setter method for resource_name, mapped from YANG variable /vnfd/df/kdu_resource_profile/resource_name (string)

26369 If this variable is read-only (config: false) in the

26370 source YANG file, then _set_resource_name is considered as a private

26371 method. Backends looking to populate this variable should

26372 do so via calling thisObj._set_resource_name() directly.

26373

26374 YANG Description: Name of the application of KDU

26375 """

26376 if hasattr(v, "_utype"):

26377 v = v._utype(v)

26378 try:

26379 t = YANGDynClass(v,base=str, is_leaf=True, yang_name="resource-name", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='urn:etsi:osm:yang:augments:scaling', defining_module='scaling', yang_type='string', is_config=True)

26380 except (TypeError, ValueError):

26381 raise ValueError({

26382 'error-string': """resource_name must be of a type compatible with string""",

26383 'defined-type': "string",

26384 'generated-type': """YANGDynClass(base=str, is_leaf=True, yang_name="resource-name", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='urn:etsi:osm:yang:augments:scaling', defining_module='scaling', yang_type='string', is_config=True)""",

26385 })

26386

26387 self.__resource_name = t

26388 if hasattr(self, '_set'):

26389 self._set()

26390

26391 def _unset_resource_name(self):

26392 self.__resource_name = YANGDynClass(base=str, is_leaf=True, yang_name="resource-name", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='urn:etsi:osm:yang:augments:scaling', defining_module='scaling', yang_type='string', is_config=True)

26393

26394

26395 def _get_kdu_name(self):

26396 """

26397 Getter method for kdu_name, mapped from YANG variable /vnfd/df/kdu_resource_profile/kdu_name (leafref)

26398

26399 YANG Description: Name of the KDU

26400 """

26401 return self.__kdu_name

26402

26403 def _set_kdu_name(self, v, load=False):

26404 """

26405 Setter method for kdu_name, mapped from YANG variable /vnfd/df/kdu_resource_profile/kdu_name (leafref)

26406 If this variable is read-only (config: false) in the

26407 source YANG file, then _set_kdu_name is considered as a private

26408 method. Backends looking to populate this variable should

26409 do so via calling thisObj._set_kdu_name() directly.

26410

26411 YANG Description: Name of the KDU

26412 """

26413 if hasattr(v, "_utype"):

26414 v = v._utype(v)

26415 try:

26416 t = YANGDynClass(v,base=str, is_leaf=True, yang_name="kdu-name", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='urn:etsi:osm:yang:augments:scaling', defining_module='scaling', yang_type='leafref', is_config=True)

26417 except (TypeError, ValueError):

26418 raise ValueError({

26419 'error-string': """kdu_name must be of a type compatible with leafref""",

26420 'defined-type': "leafref",

26421 'generated-type': """YANGDynClass(base=str, is_leaf=True, yang_name="kdu-name", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='urn:etsi:osm:yang:augments:scaling', defining_module='scaling', yang_type='leafref', is_config=True)""",

26422 })

26423

26424 self.__kdu_name = t

26425 if hasattr(self, '_set'):

26426 self._set()

26427

26428 def _unset_kdu_name(self):

26429 self.__kdu_name = YANGDynClass(base=str, is_leaf=True, yang_name="kdu-name", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='urn:etsi:osm:yang:augments:scaling', defining_module='scaling', yang_type='leafref', is_config=True)

26430

26431 id = __builtin__.property(_get_id, _set_id)

26432 min_number_of_instances = __builtin__.property(_get_min_number_of_instances, _set_min_number_of_instances)

26433 max_number_of_instances = __builtin__.property(_get_max_number_of_instances, _set_max_number_of_instances)

26434 resource_name = __builtin__.property(_get_resource_name, _set_resource_name)

26435 kdu_name = __builtin__.property(_get_kdu_name, _set_kdu_name)

26436

26437

26438 _pyangbind_elements = OrderedDict([('id', id), ('min_number_of_instances', min_number_of_instances), ('max_number_of_instances', max_number_of_instances), ('resource_name', resource_name), ('kdu_name', kdu_name), ])

26439

26440

26441 class yc_df_etsi_nfv_vnfd__vnfd_df(PybindBase):

26442 """

26443 This class was auto-generated by the PythonClass plugin for PYANG

26444 from YANG module etsi-nfv-vnfd - based on the path /vnfd/df. Each member element of

26445 the container is represented as a class variable - with a specific

26446 YANG type.

26447

26448 YANG Description: Describes a specific Deployment Flavour (DF) of a VNF with

26449 specific requirements for capacity and performance.

26450 """

26451 __slots__ = ('_path_helper', '_extmethods', '__id','__description','__vdu_profile','__virtual_link_profile','__instantiation_level','__default_instantiation_level','__supported_operation','__lcm_operations_configuration','__affinity_or_anti_affinity_group','__indicator','__supported_vnf_interfaces','__monitoring_parameter','__scaling_aspect','__exporters_endpoints','__healing_aspect','__kdu_resource_profile',)

26452

26453 _yang_name = 'df'

26454 _yang_namespace = 'urn:etsi:nfv:yang:etsi-nfv-vnfd'

26455

26456 _pybind_generated_by = 'container'

26457

26458 def __init__(self, *args, **kwargs):

26459

26460 self._path_helper = False

26461

26462 self._extmethods = False

26463 self.__id = YANGDynClass(base=str, is_leaf=True, yang_name="id", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, is_keyval=True, namespace='urn:etsi:nfv:yang:etsi-nfv-vnfd', defining_module='etsi-nfv-vnfd', yang_type='string', is_config=True)

26464 self.__description = YANGDynClass(base=str, is_leaf=True, yang_name="description", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='urn:etsi:nfv:yang:etsi-nfv-vnfd', defining_module='etsi-nfv-vnfd', yang_type='string', is_config=True)

26465 self.__vdu_profile = YANGDynClass(base=YANGListType("id",yc_vdu_profile_etsi_nfv_vnfd__vnfd_df_vdu_profile, yang_name="vdu-profile", parent=self, is_container='list', user_ordered=False, path_helper=self._path_helper, yang_keys='id', extensions=None), is_container='list', yang_name="vdu-profile", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, extensions=None, namespace='urn:etsi:nfv:yang:etsi-nfv-vnfd', defining_module='etsi-nfv-vnfd', yang_type='list', is_config=True)

26466 self.__virtual_link_profile = YANGDynClass(base=YANGListType("id flavour",yc_virtual_link_profile_etsi_nfv_vnfd__vnfd_df_virtual_link_profile, yang_name="virtual-link-profile", parent=self, is_container='list', user_ordered=False, path_helper=self._path_helper, yang_keys='id flavour', extensions=None), is_container='list', yang_name="virtual-link-profile", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, extensions=None, namespace='urn:etsi:nfv:yang:etsi-nfv-vnfd', defining_module='etsi-nfv-vnfd', yang_type='list', is_config=True)

26467 self.__instantiation_level = YANGDynClass(base=YANGListType("id",yc_instantiation_level_etsi_nfv_vnfd__vnfd_df_instantiation_level, yang_name="instantiation-level", parent=self, is_container='list', user_ordered=False, path_helper=self._path_helper, yang_keys='id', extensions=None), is_container='list', yang_name="instantiation-level", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, extensions=None, namespace='urn:etsi:nfv:yang:etsi-nfv-vnfd', defining_module='etsi-nfv-vnfd', yang_type='list', is_config=True)

26468 self.__default_instantiation_level = YANGDynClass(base=str, is_leaf=True, yang_name="default-instantiation-level", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='urn:etsi:nfv:yang:etsi-nfv-vnfd', defining_module='etsi-nfv-vnfd', yang_type='leafref', is_config=True)

26469 self.__supported_operation = YANGDynClass(unique=True, base=TypedListType(allowed_type=RestrictedClassType(base_type=str, restriction_type="dict_key", restriction_arg={'instantiate-vnf': {'@module': 'etsi-nfv-descriptors', '@namespace': 'urn:etsi:nfv:yang:etsi-nfv-descriptors'}, 'etsi-nfv-descriptors:instantiate-vnf': {'@module': 'etsi-nfv-descriptors', '@namespace': 'urn:etsi:nfv:yang:etsi-nfv-descriptors'}, 'nfv:instantiate-vnf': {'@module': 'etsi-nfv-descriptors', '@namespace': 'urn:etsi:nfv:yang:etsi-nfv-descriptors'}, 'descriptors:instantiate-vnf': {'@module': 'etsi-nfv-descriptors', '@namespace': 'urn:etsi:nfv:yang:etsi-nfv-descriptors'}, 'vnf:instantiate-vnf': {'@module': 'etsi-nfv-descriptors', '@namespace': 'urn:etsi:nfv:yang:etsi-nfv-descriptors'}, 'scale-vnf': {'@module': 'etsi-nfv-descriptors', '@namespace': 'urn:etsi:nfv:yang:etsi-nfv-descriptors'}, 'etsi-nfv-descriptors:scale-vnf': {'@module': 'etsi-nfv-descriptors', '@namespace': 'urn:etsi:nfv:yang:etsi-nfv-descriptors'}, 'nfv:scale-vnf': {'@module': 'etsi-nfv-descriptors', '@namespace': 'urn:etsi:nfv:yang:etsi-nfv-descriptors'}, 'descriptors:scale-vnf': {'@module': 'etsi-nfv-descriptors', '@namespace': 'urn:etsi:nfv:yang:etsi-nfv-descriptors'}, 'vnf:scale-vnf': {'@module': 'etsi-nfv-descriptors', '@namespace': 'urn:etsi:nfv:yang:etsi-nfv-descriptors'}, 'scale-vnf-to-level': {'@module': 'etsi-nfv-descriptors', '@namespace': 'urn:etsi:nfv:yang:etsi-nfv-descriptors'}, 'etsi-nfv-descriptors:scale-vnf-to-level': {'@module': 'etsi-nfv-descriptors', '@namespace': 'urn:etsi:nfv:yang:etsi-nfv-descriptors'}, 'nfv:scale-vnf-to-level': {'@module': 'etsi-nfv-descriptors', '@namespace': 'urn:etsi:nfv:yang:etsi-nfv-descriptors'}, 'descriptors:scale-vnf-to-level': {'@module': 'etsi-nfv-descriptors', '@namespace': 'urn:etsi:nfv:yang:etsi-nfv-descriptors'}, 'vnf:scale-vnf-to-level': {'@module': 'etsi-nfv-descriptors', '@namespace': 'urn:etsi:nfv:yang:etsi-nfv-descriptors'}, 'change-vnf-flavour': {'@module': 'etsi-nfv-descriptors', '@namespace': 'urn:etsi:nfv:yang:etsi-nfv-descriptors'}, 'etsi-nfv-descriptors:change-vnf-flavour': {'@module': 'etsi-nfv-descriptors', '@namespace': 'urn:etsi:nfv:yang:etsi-nfv-descriptors'}, 'nfv:change-vnf-flavour': {'@module': 'etsi-nfv-descriptors', '@namespace': 'urn:etsi:nfv:yang:etsi-nfv-descriptors'}, 'descriptors:change-vnf-flavour': {'@module': 'etsi-nfv-descriptors', '@namespace': 'urn:etsi:nfv:yang:etsi-nfv-descriptors'}, 'vnf:change-vnf-flavour': {'@module': 'etsi-nfv-descriptors', '@namespace': 'urn:etsi:nfv:yang:etsi-nfv-descriptors'}, 'terminate-vnf': {'@module': 'etsi-nfv-descriptors', '@namespace': 'urn:etsi:nfv:yang:etsi-nfv-descriptors'}, 'etsi-nfv-descriptors:terminate-vnf': {'@module': 'etsi-nfv-descriptors', '@namespace': 'urn:etsi:nfv:yang:etsi-nfv-descriptors'}, 'nfv:terminate-vnf': {'@module': 'etsi-nfv-descriptors', '@namespace': 'urn:etsi:nfv:yang:etsi-nfv-descriptors'}, 'descriptors:terminate-vnf': {'@module': 'etsi-nfv-descriptors', '@namespace': 'urn:etsi:nfv:yang:etsi-nfv-descriptors'}, 'vnf:terminate-vnf': {'@module': 'etsi-nfv-descriptors', '@namespace': 'urn:etsi:nfv:yang:etsi-nfv-descriptors'}, 'query-vnf': {'@module': 'etsi-nfv-descriptors', '@namespace': 'urn:etsi:nfv:yang:etsi-nfv-descriptors'}, 'etsi-nfv-descriptors:query-vnf': {'@module': 'etsi-nfv-descriptors', '@namespace': 'urn:etsi:nfv:yang:etsi-nfv-descriptors'}, 'nfv:query-vnf': {'@module': 'etsi-nfv-descriptors', '@namespace': 'urn:etsi:nfv:yang:etsi-nfv-descriptors'}, 'descriptors:query-vnf': {'@module': 'etsi-nfv-descriptors', '@namespace': 'urn:etsi:nfv:yang:etsi-nfv-descriptors'}, 'vnf:query-vnf': {'@module': 'etsi-nfv-descriptors', '@namespace': 'urn:etsi:nfv:yang:etsi-nfv-descriptors'}, 'heal-vnf': {'@module': 'etsi-nfv-descriptors', '@namespace': 'urn:etsi:nfv:yang:etsi-nfv-descriptors'}, 'etsi-nfv-descriptors:heal-vnf': {'@module': 'etsi-nfv-descriptors', '@namespace': 'urn:etsi:nfv:yang:etsi-nfv-descriptors'}, 'nfv:heal-vnf': {'@module': 'etsi-nfv-descriptors', '@namespace': 'urn:etsi:nfv:yang:etsi-nfv-descriptors'}, 'descriptors:heal-vnf': {'@module': 'etsi-nfv-descriptors', '@namespace': 'urn:etsi:nfv:yang:etsi-nfv-descriptors'}, 'vnf:heal-vnf': {'@module': 'etsi-nfv-descriptors', '@namespace': 'urn:etsi:nfv:yang:etsi-nfv-descriptors'}, 'operate-vnf': {'@module': 'etsi-nfv-descriptors', '@namespace': 'urn:etsi:nfv:yang:etsi-nfv-descriptors'}, 'etsi-nfv-descriptors:operate-vnf': {'@module': 'etsi-nfv-descriptors', '@namespace': 'urn:etsi:nfv:yang:etsi-nfv-descriptors'}, 'nfv:operate-vnf': {'@module': 'etsi-nfv-descriptors', '@namespace': 'urn:etsi:nfv:yang:etsi-nfv-descriptors'}, 'descriptors:operate-vnf': {'@module': 'etsi-nfv-descriptors', '@namespace': 'urn:etsi:nfv:yang:etsi-nfv-descriptors'}, 'vnf:operate-vnf': {'@module': 'etsi-nfv-descriptors', '@namespace': 'urn:etsi:nfv:yang:etsi-nfv-descriptors'}, 'modify-vnf-information': {'@module': 'etsi-nfv-descriptors', '@namespace': 'urn:etsi:nfv:yang:etsi-nfv-descriptors'}, 'etsi-nfv-descriptors:modify-vnf-information': {'@module': 'etsi-nfv-descriptors', '@namespace': 'urn:etsi:nfv:yang:etsi-nfv-descriptors'}, 'nfv:modify-vnf-information': {'@module': 'etsi-nfv-descriptors', '@namespace': 'urn:etsi:nfv:yang:etsi-nfv-descriptors'}, 'descriptors:modify-vnf-information': {'@module': 'etsi-nfv-descriptors', '@namespace': 'urn:etsi:nfv:yang:etsi-nfv-descriptors'}, 'vnf:modify-vnf-information': {'@module': 'etsi-nfv-descriptors', '@namespace': 'urn:etsi:nfv:yang:etsi-nfv-descriptors'}},)), is_leaf=False, yang_name="supported-operation", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='urn:etsi:nfv:yang:etsi-nfv-vnfd', defining_module='etsi-nfv-vnfd', yang_type='identityref', is_config=True)

26470 self.__lcm_operations_configuration = YANGDynClass(base=yc_lcm_operations_configuration_etsi_nfv_vnfd__vnfd_df_lcm_operations_configuration, is_container='container', yang_name="lcm-operations-configuration", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, extensions=None, namespace='urn:etsi:nfv:yang:etsi-nfv-vnfd', defining_module='etsi-nfv-vnfd', yang_type='container', is_config=True)

26471 self.__affinity_or_anti_affinity_group = YANGDynClass(base=YANGListType("id",yc_affinity_or_anti_affinity_group_etsi_nfv_vnfd__vnfd_df_affinity_or_anti_affinity_group, yang_name="affinity-or-anti-affinity-group", parent=self, is_container='list', user_ordered=False, path_helper=self._path_helper, yang_keys='id', extensions=None), is_container='list', yang_name="affinity-or-anti-affinity-group", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, extensions=None, namespace='urn:etsi:nfv:yang:etsi-nfv-vnfd', defining_module='etsi-nfv-vnfd', yang_type='list', is_config=True)

26472 self.__indicator = YANGDynClass(base=YANGListType("id",yc_indicator_etsi_nfv_vnfd__vnfd_df_indicator, yang_name="indicator", parent=self, is_container='list', user_ordered=False, path_helper=self._path_helper, yang_keys='id', extensions=None), is_container='list', yang_name="indicator", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, extensions=None, namespace='urn:etsi:nfv:yang:etsi-nfv-vnfd', defining_module='etsi-nfv-vnfd', yang_type='list', is_config=True)

26473 self.__supported_vnf_interfaces = YANGDynClass(base=YANGListType("name",yc_supported_vnf_interfaces_etsi_nfv_vnfd__vnfd_df_supported_vnf_interfaces, yang_name="supported-vnf-interfaces", parent=self, is_container='list', user_ordered=False, path_helper=self._path_helper, yang_keys='name', extensions=None), is_container='list', yang_name="supported-vnf-interfaces", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, extensions=None, namespace='urn:etsi:nfv:yang:etsi-nfv-vnfd', defining_module='etsi-nfv-vnfd', yang_type='list', is_config=True)

26474 self.__monitoring_parameter = YANGDynClass(base=YANGListType("id",yc_monitoring_parameter_etsi_nfv_vnfd__vnfd_df_monitoring_parameter, yang_name="monitoring-parameter", parent=self, is_container='list', user_ordered=False, path_helper=self._path_helper, yang_keys='id', extensions=None), is_container='list', yang_name="monitoring-parameter", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, extensions=None, namespace='urn:etsi:nfv:yang:etsi-nfv-vnfd', defining_module='etsi-nfv-vnfd', yang_type='list', is_config=True)

26475 self.__scaling_aspect = YANGDynClass(base=YANGListType("id",yc_scaling_aspect_etsi_nfv_vnfd__vnfd_df_scaling_aspect, yang_name="scaling-aspect", parent=self, is_container='list', user_ordered=False, path_helper=self._path_helper, yang_keys='id', extensions=None), is_container='list', yang_name="scaling-aspect", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, extensions=None, namespace='urn:etsi:nfv:yang:etsi-nfv-vnfd', defining_module='etsi-nfv-vnfd', yang_type='list', is_config=True)

26476 self.__exporters_endpoints = YANGDynClass(base=yc_exporters_endpoints_etsi_nfv_vnfd__vnfd_df_exporters_endpoints, is_container='container', yang_name="exporters-endpoints", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, extensions=None, namespace='urn:etsi:osm:yang:augments:exporters', defining_module='exporters', yang_type='container', is_config=True)

26477 self.__healing_aspect = YANGDynClass(base=YANGListType("id",yc_healing_aspect_etsi_nfv_vnfd__vnfd_df_healing_aspect, yang_name="healing-aspect", parent=self, is_container='list', user_ordered=False, path_helper=self._path_helper, yang_keys='id', extensions=None), is_container='list', yang_name="healing-aspect", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, extensions=None, namespace='urn:etsi:osm:yang:augments:healing', defining_module='healing', yang_type='list', is_config=True)

26478 self.__kdu_resource_profile = YANGDynClass(base=YANGListType("id",yc_kdu_resource_profile_etsi_nfv_vnfd__vnfd_df_kdu_resource_profile, yang_name="kdu-resource-profile", parent=self, is_container='list', user_ordered=False, path_helper=self._path_helper, yang_keys='id', extensions=None), is_container='list', yang_name="kdu-resource-profile", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, extensions=None, namespace='urn:etsi:osm:yang:augments:scaling', defining_module='scaling', yang_type='list', is_config=True)

26479

26480 load = kwargs.pop("load", None)

26481 if args:

26482 if len(args) > 1:

26483 raise TypeError("cannot create a YANG container with >1 argument")

26484 all_attr = True

26485 for e in self._pyangbind_elements:

26486 if not hasattr(args[0], e):

26487 all_attr = False

26488 break

26489 if not all_attr:

26490 raise ValueError("Supplied object did not have the correct attributes")

26491 for e in self._pyangbind_elements:

26492 nobj = getattr(args[0], e)

26493 if nobj._changed() is False:

26494 continue

26495 setmethod = getattr(self, "_set_%s" % e)

26496 if load is None:

26497 setmethod(getattr(args[0], e))

26498 else:

26499 setmethod(getattr(args[0], e), load=load)

26500

26501 def _path(self):

26502 if hasattr(self, "_parent"):

26503 return self._parent._path()+[self._yang_name]

26504 else:

26505 return ['vnfd', 'df']

26506

26507 def _get_id(self):

26508 """

26509 Getter method for id, mapped from YANG variable /vnfd/df/id (string)

26510

26511 YANG Description: Identifier of this DF within the VNFD.

26512 """

26513 return self.__id

26514

26515 def _set_id(self, v, load=False):

26516 """

26517 Setter method for id, mapped from YANG variable /vnfd/df/id (string)

26518 If this variable is read-only (config: false) in the

26519 source YANG file, then _set_id is considered as a private

26520 method. Backends looking to populate this variable should

26521 do so via calling thisObj._set_id() directly.

26522

26523 YANG Description: Identifier of this DF within the VNFD.

26524 """

26525 parent = getattr(self, "_parent", None)

26526 if parent is not None and load is False:

26527 raise AttributeError("Cannot set keys directly when" +

26528 " within an instantiated list")

26529

26530 if hasattr(v, "_utype"):

26531 v = v._utype(v)

26532 try:

26533 t = YANGDynClass(v,base=str, is_leaf=True, yang_name="id", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, is_keyval=True, namespace='urn:etsi:nfv:yang:etsi-nfv-vnfd', defining_module='etsi-nfv-vnfd', yang_type='string', is_config=True)

26534 except (TypeError, ValueError):

26535 raise ValueError({

26536 'error-string': """id must be of a type compatible with string""",

26537 'defined-type': "string",

26538 'generated-type': """YANGDynClass(base=str, is_leaf=True, yang_name="id", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, is_keyval=True, namespace='urn:etsi:nfv:yang:etsi-nfv-vnfd', defining_module='etsi-nfv-vnfd', yang_type='string', is_config=True)""",

26539 })

26540

26541 self.__id = t

26542 if hasattr(self, '_set'):

26543 self._set()

26544

26545 def _unset_id(self):

26546 self.__id = YANGDynClass(base=str, is_leaf=True, yang_name="id", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, is_keyval=True, namespace='urn:etsi:nfv:yang:etsi-nfv-vnfd', defining_module='etsi-nfv-vnfd', yang_type='string', is_config=True)

26547

26548

26549 def _get_description(self):

26550 """

26551 Getter method for description, mapped from YANG variable /vnfd/df/description (string)

26552

26553 YANG Description: Human readable description of the deployment flavour

26554 """

26555 return self.__description

26556

26557 def _set_description(self, v, load=False):

26558 """

26559 Setter method for description, mapped from YANG variable /vnfd/df/description (string)

26560 If this variable is read-only (config: false) in the

26561 source YANG file, then _set_description is considered as a private

26562 method. Backends looking to populate this variable should

26563 do so via calling thisObj._set_description() directly.

26564

26565 YANG Description: Human readable description of the deployment flavour

26566 """

26567 if hasattr(v, "_utype"):

26568 v = v._utype(v)

26569 try:

26570 t = YANGDynClass(v,base=str, is_leaf=True, yang_name="description", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='urn:etsi:nfv:yang:etsi-nfv-vnfd', defining_module='etsi-nfv-vnfd', yang_type='string', is_config=True)

26571 except (TypeError, ValueError):

26572 raise ValueError({

26573 'error-string': """description must be of a type compatible with string""",

26574 'defined-type': "string",

26575 'generated-type': """YANGDynClass(base=str, is_leaf=True, yang_name="description", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='urn:etsi:nfv:yang:etsi-nfv-vnfd', defining_module='etsi-nfv-vnfd', yang_type='string', is_config=True)""",

26576 })

26577

26578 self.__description = t

26579 if hasattr(self, '_set'):

26580 self._set()

26581

26582 def _unset_description(self):

26583 self.__description = YANGDynClass(base=str, is_leaf=True, yang_name="description", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='urn:etsi:nfv:yang:etsi-nfv-vnfd', defining_module='etsi-nfv-vnfd', yang_type='string', is_config=True)

26584

26585

26586 def _get_vdu_profile(self):

26587 """

26588 Getter method for vdu_profile, mapped from YANG variable /vnfd/df/vdu_profile (list)

26589

26590 YANG Description: The Vduprofile describes additional instantiation data for

26591 a given VDU used in a deployment flavour.

26592 """

26593 return self.__vdu_profile

26594

26595 def _set_vdu_profile(self, v, load=False):

26596 """

26597 Setter method for vdu_profile, mapped from YANG variable /vnfd/df/vdu_profile (list)

26598 If this variable is read-only (config: false) in the

26599 source YANG file, then _set_vdu_profile is considered as a private

26600 method. Backends looking to populate this variable should

26601 do so via calling thisObj._set_vdu_profile() directly.

26602

26603 YANG Description: The Vduprofile describes additional instantiation data for

26604 a given VDU used in a deployment flavour.

26605 """

26606 if hasattr(v, "_utype"):

26607 v = v._utype(v)

26608 try:

26609 t = YANGDynClass(v,base=YANGListType("id",yc_vdu_profile_etsi_nfv_vnfd__vnfd_df_vdu_profile, yang_name="vdu-profile", parent=self, is_container='list', user_ordered=False, path_helper=self._path_helper, yang_keys='id', extensions=None), is_container='list', yang_name="vdu-profile", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, extensions=None, namespace='urn:etsi:nfv:yang:etsi-nfv-vnfd', defining_module='etsi-nfv-vnfd', yang_type='list', is_config=True)

26610 except (TypeError, ValueError):

26611 raise ValueError({

26612 'error-string': """vdu_profile must be of a type compatible with list""",

26613 'defined-type': "list",

26614 'generated-type': """YANGDynClass(base=YANGListType("id",yc_vdu_profile_etsi_nfv_vnfd__vnfd_df_vdu_profile, yang_name="vdu-profile", parent=self, is_container='list', user_ordered=False, path_helper=self._path_helper, yang_keys='id', extensions=None), is_container='list', yang_name="vdu-profile", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, extensions=None, namespace='urn:etsi:nfv:yang:etsi-nfv-vnfd', defining_module='etsi-nfv-vnfd', yang_type='list', is_config=True)""",

26615 })

26616

26617 self.__vdu_profile = t

26618 if hasattr(self, '_set'):

26619 self._set()

26620

26621 def _unset_vdu_profile(self):

26622 self.__vdu_profile = YANGDynClass(base=YANGListType("id",yc_vdu_profile_etsi_nfv_vnfd__vnfd_df_vdu_profile, yang_name="vdu-profile", parent=self, is_container='list', user_ordered=False, path_helper=self._path_helper, yang_keys='id', extensions=None), is_container='list', yang_name="vdu-profile", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, extensions=None, namespace='urn:etsi:nfv:yang:etsi-nfv-vnfd', defining_module='etsi-nfv-vnfd', yang_type='list', is_config=True)

26623

26624

26625 def _get_virtual_link_profile(self):

26626 """

26627 Getter method for virtual_link_profile, mapped from YANG variable /vnfd/df/virtual_link_profile (list)

26628

26629 YANG Description: Defines the internal VLD along with additional data which

26630 is used in this DF.

26631 """

26632 return self.__virtual_link_profile

26633

26634 def _set_virtual_link_profile(self, v, load=False):

26635 """

26636 Setter method for virtual_link_profile, mapped from YANG variable /vnfd/df/virtual_link_profile (list)

26637 If this variable is read-only (config: false) in the

26638 source YANG file, then _set_virtual_link_profile is considered as a private

26639 method. Backends looking to populate this variable should

26640 do so via calling thisObj._set_virtual_link_profile() directly.

26641

26642 YANG Description: Defines the internal VLD along with additional data which

26643 is used in this DF.

26644 """

26645 if hasattr(v, "_utype"):

26646 v = v._utype(v)

26647 try:

26648 t = YANGDynClass(v,base=YANGListType("id flavour",yc_virtual_link_profile_etsi_nfv_vnfd__vnfd_df_virtual_link_profile, yang_name="virtual-link-profile", parent=self, is_container='list', user_ordered=False, path_helper=self._path_helper, yang_keys='id flavour', extensions=None), is_container='list', yang_name="virtual-link-profile", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, extensions=None, namespace='urn:etsi:nfv:yang:etsi-nfv-vnfd', defining_module='etsi-nfv-vnfd', yang_type='list', is_config=True)

26649 except (TypeError, ValueError):

26650 raise ValueError({

26651 'error-string': """virtual_link_profile must be of a type compatible with list""",

26652 'defined-type': "list",

26653 'generated-type': """YANGDynClass(base=YANGListType("id flavour",yc_virtual_link_profile_etsi_nfv_vnfd__vnfd_df_virtual_link_profile, yang_name="virtual-link-profile", parent=self, is_container='list', user_ordered=False, path_helper=self._path_helper, yang_keys='id flavour', extensions=None), is_container='list', yang_name="virtual-link-profile", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, extensions=None, namespace='urn:etsi:nfv:yang:etsi-nfv-vnfd', defining_module='etsi-nfv-vnfd', yang_type='list', is_config=True)""",

26654 })

26655

26656 self.__virtual_link_profile = t

26657 if hasattr(self, '_set'):

26658 self._set()

26659

26660 def _unset_virtual_link_profile(self):

26661 self.__virtual_link_profile = YANGDynClass(base=YANGListType("id flavour",yc_virtual_link_profile_etsi_nfv_vnfd__vnfd_df_virtual_link_profile, yang_name="virtual-link-profile", parent=self, is_container='list', user_ordered=False, path_helper=self._path_helper, yang_keys='id flavour', extensions=None), is_container='list', yang_name="virtual-link-profile", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, extensions=None, namespace='urn:etsi:nfv:yang:etsi-nfv-vnfd', defining_module='etsi-nfv-vnfd', yang_type='list', is_config=True)

26662

26663

26664 def _get_instantiation_level(self):

26665 """

26666 Getter method for instantiation_level, mapped from YANG variable /vnfd/df/instantiation_level (list)

26667

26668 YANG Description: Describes the various levels of resources that can be

26669 used to instantiate the VNF using this flavour.

26670 Examples: Small, Medium, Large. If there is only one

26671'instantiationLevel' entry, it shall be treated as the

26672 default instantiation level for this DF.

26673

26674 The InstantiationLevel information element describes a

26675 given level of resources to be instantiated within a

26676 deployment flavour in term of the number of VNFC instances

26677 to be created from each VDU.

26678 All the VDUs referenced in the level shall be part of the

26679 corresponding deployment flavour and their number shall

26680 be within the range (min/max) for this deployment flavour.

26681 """

26682 return self.__instantiation_level

26683

26684 def _set_instantiation_level(self, v, load=False):

26685 """

26686 Setter method for instantiation_level, mapped from YANG variable /vnfd/df/instantiation_level (list)

26687 If this variable is read-only (config: false) in the

26688 source YANG file, then _set_instantiation_level is considered as a private

26689 method. Backends looking to populate this variable should

26690 do so via calling thisObj._set_instantiation_level() directly.

26691

26692 YANG Description: Describes the various levels of resources that can be

26693 used to instantiate the VNF using this flavour.

26694 Examples: Small, Medium, Large. If there is only one

26695'instantiationLevel' entry, it shall be treated as the

26696 default instantiation level for this DF.

26697

26698 The InstantiationLevel information element describes a

26699 given level of resources to be instantiated within a

26700 deployment flavour in term of the number of VNFC instances

26701 to be created from each VDU.

26702 All the VDUs referenced in the level shall be part of the

26703 corresponding deployment flavour and their number shall

26704 be within the range (min/max) for this deployment flavour.

26705 """

26706 if hasattr(v, "_utype"):

26707 v = v._utype(v)

26708 try:

26709 t = YANGDynClass(v,base=YANGListType("id",yc_instantiation_level_etsi_nfv_vnfd__vnfd_df_instantiation_level, yang_name="instantiation-level", parent=self, is_container='list', user_ordered=False, path_helper=self._path_helper, yang_keys='id', extensions=None), is_container='list', yang_name="instantiation-level", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, extensions=None, namespace='urn:etsi:nfv:yang:etsi-nfv-vnfd', defining_module='etsi-nfv-vnfd', yang_type='list', is_config=True)

26710 except (TypeError, ValueError):

26711 raise ValueError({

26712 'error-string': """instantiation_level must be of a type compatible with list""",

26713 'defined-type': "list",

26714 'generated-type': """YANGDynClass(base=YANGListType("id",yc_instantiation_level_etsi_nfv_vnfd__vnfd_df_instantiation_level, yang_name="instantiation-level", parent=self, is_container='list', user_ordered=False, path_helper=self._path_helper, yang_keys='id', extensions=None), is_container='list', yang_name="instantiation-level", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, extensions=None, namespace='urn:etsi:nfv:yang:etsi-nfv-vnfd', defining_module='etsi-nfv-vnfd', yang_type='list', is_config=True)""",

26715 })

26716

26717 self.__instantiation_level = t

26718 if hasattr(self, '_set'):

26719 self._set()

26720

26721 def _unset_instantiation_level(self):

26722 self.__instantiation_level = YANGDynClass(base=YANGListType("id",yc_instantiation_level_etsi_nfv_vnfd__vnfd_df_instantiation_level, yang_name="instantiation-level", parent=self, is_container='list', user_ordered=False, path_helper=self._path_helper, yang_keys='id', extensions=None), is_container='list', yang_name="instantiation-level", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, extensions=None, namespace='urn:etsi:nfv:yang:etsi-nfv-vnfd', defining_module='etsi-nfv-vnfd', yang_type='list', is_config=True)

26723

26724

26725 def _get_default_instantiation_level(self):

26726 """

26727 Getter method for default_instantiation_level, mapped from YANG variable /vnfd/df/default_instantiation_level (leafref)

26728

26729 YANG Description: This attribute references the 'instantiationLevel'

26730 entry which defines the default instantiation level for

26731 this DF. It shall be present if there are multiple

26732'instantiationLevel' entries.

26733 """

26734 return self.__default_instantiation_level

26735

26736 def _set_default_instantiation_level(self, v, load=False):

26737 """

26738 Setter method for default_instantiation_level, mapped from YANG variable /vnfd/df/default_instantiation_level (leafref)

26739 If this variable is read-only (config: false) in the

26740 source YANG file, then _set_default_instantiation_level is considered as a private

26741 method. Backends looking to populate this variable should

26742 do so via calling thisObj._set_default_instantiation_level() directly.

26743

26744 YANG Description: This attribute references the 'instantiationLevel'

26745 entry which defines the default instantiation level for

26746 this DF. It shall be present if there are multiple

26747'instantiationLevel' entries.

26748 """

26749 if hasattr(v, "_utype"):

26750 v = v._utype(v)

26751 try:

26752 t = YANGDynClass(v,base=str, is_leaf=True, yang_name="default-instantiation-level", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='urn:etsi:nfv:yang:etsi-nfv-vnfd', defining_module='etsi-nfv-vnfd', yang_type='leafref', is_config=True)

26753 except (TypeError, ValueError):

26754 raise ValueError({

26755 'error-string': """default_instantiation_level must be of a type compatible with leafref""",

26756 'defined-type': "leafref",

26757 'generated-type': """YANGDynClass(base=str, is_leaf=True, yang_name="default-instantiation-level", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='urn:etsi:nfv:yang:etsi-nfv-vnfd', defining_module='etsi-nfv-vnfd', yang_type='leafref', is_config=True)""",

26758 })

26759

26760 self.__default_instantiation_level = t

26761 if hasattr(self, '_set'):

26762 self._set()

26763

26764 def _unset_default_instantiation_level(self):

26765 self.__default_instantiation_level = YANGDynClass(base=str, is_leaf=True, yang_name="default-instantiation-level", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='urn:etsi:nfv:yang:etsi-nfv-vnfd', defining_module='etsi-nfv-vnfd', yang_type='leafref', is_config=True)

26766

26767

26768 def _get_supported_operation(self):

26769 """

26770 Getter method for supported_operation, mapped from YANG variable /vnfd/df/supported_operation (identityref)

26771

26772 YANG Description: Indicates which operations are available for this DF via

26773 the VNF LCM interface. Instantiate VNF, Query VNF and

26774 Terminate VNF are supported in all DF and therefore

26775 need not be included in this list.

26776 """

26777 return self.__supported_operation

26778

26779 def _set_supported_operation(self, v, load=False):

26780 """

26781 Setter method for supported_operation, mapped from YANG variable /vnfd/df/supported_operation (identityref)

26782 If this variable is read-only (config: false) in the

26783 source YANG file, then _set_supported_operation is considered as a private

26784 method. Backends looking to populate this variable should

26785 do so via calling thisObj._set_supported_operation() directly.

26786

26787 YANG Description: Indicates which operations are available for this DF via

26788 the VNF LCM interface. Instantiate VNF, Query VNF and

26789 Terminate VNF are supported in all DF and therefore

26790 need not be included in this list.

26791 """

26792 if hasattr(v, "_utype"):

26793 v = v._utype(v)

26794 try:

26795 t = YANGDynClass(v,unique=True, base=TypedListType(allowed_type=RestrictedClassType(base_type=str, restriction_type="dict_key", restriction_arg={'instantiate-vnf': {'@module': 'etsi-nfv-descriptors', '@namespace': 'urn:etsi:nfv:yang:etsi-nfv-descriptors'}, 'etsi-nfv-descriptors:instantiate-vnf': {'@module': 'etsi-nfv-descriptors', '@namespace': 'urn:etsi:nfv:yang:etsi-nfv-descriptors'}, 'nfv:instantiate-vnf': {'@module': 'etsi-nfv-descriptors', '@namespace': 'urn:etsi:nfv:yang:etsi-nfv-descriptors'}, 'descriptors:instantiate-vnf': {'@module': 'etsi-nfv-descriptors', '@namespace': 'urn:etsi:nfv:yang:etsi-nfv-descriptors'}, 'vnf:instantiate-vnf': {'@module': 'etsi-nfv-descriptors', '@namespace': 'urn:etsi:nfv:yang:etsi-nfv-descriptors'}, 'scale-vnf': {'@module': 'etsi-nfv-descriptors', '@namespace': 'urn:etsi:nfv:yang:etsi-nfv-descriptors'}, 'etsi-nfv-descriptors:scale-vnf': {'@module': 'etsi-nfv-descriptors', '@namespace': 'urn:etsi:nfv:yang:etsi-nfv-descriptors'}, 'nfv:scale-vnf': {'@module': 'etsi-nfv-descriptors', '@namespace': 'urn:etsi:nfv:yang:etsi-nfv-descriptors'}, 'descriptors:scale-vnf': {'@module': 'etsi-nfv-descriptors', '@namespace': 'urn:etsi:nfv:yang:etsi-nfv-descriptors'}, 'vnf:scale-vnf': {'@module': 'etsi-nfv-descriptors', '@namespace': 'urn:etsi:nfv:yang:etsi-nfv-descriptors'}, 'scale-vnf-to-level': {'@module': 'etsi-nfv-descriptors', '@namespace': 'urn:etsi:nfv:yang:etsi-nfv-descriptors'}, 'etsi-nfv-descriptors:scale-vnf-to-level': {'@module': 'etsi-nfv-descriptors', '@namespace': 'urn:etsi:nfv:yang:etsi-nfv-descriptors'}, 'nfv:scale-vnf-to-level': {'@module': 'etsi-nfv-descriptors', '@namespace': 'urn:etsi:nfv:yang:etsi-nfv-descriptors'}, 'descriptors:scale-vnf-to-level': {'@module': 'etsi-nfv-descriptors', '@namespace': 'urn:etsi:nfv:yang:etsi-nfv-descriptors'}, 'vnf:scale-vnf-to-level': {'@module': 'etsi-nfv-descriptors', '@namespace': 'urn:etsi:nfv:yang:etsi-nfv-descriptors'}, 'change-vnf-flavour': {'@module': 'etsi-nfv-descriptors', '@namespace': 'urn:etsi:nfv:yang:etsi-nfv-descriptors'}, 'etsi-nfv-descriptors:change-vnf-flavour': {'@module': 'etsi-nfv-descriptors', '@namespace': 'urn:etsi:nfv:yang:etsi-nfv-descriptors'}, 'nfv:change-vnf-flavour': {'@module': 'etsi-nfv-descriptors', '@namespace': 'urn:etsi:nfv:yang:etsi-nfv-descriptors'}, 'descriptors:change-vnf-flavour': {'@module': 'etsi-nfv-descriptors', '@namespace': 'urn:etsi:nfv:yang:etsi-nfv-descriptors'}, 'vnf:change-vnf-flavour': {'@module': 'etsi-nfv-descriptors', '@namespace': 'urn:etsi:nfv:yang:etsi-nfv-descriptors'}, 'terminate-vnf': {'@module': 'etsi-nfv-descriptors', '@namespace': 'urn:etsi:nfv:yang:etsi-nfv-descriptors'}, 'etsi-nfv-descriptors:terminate-vnf': {'@module': 'etsi-nfv-descriptors', '@namespace': 'urn:etsi:nfv:yang:etsi-nfv-descriptors'}, 'nfv:terminate-vnf': {'@module': 'etsi-nfv-descriptors', '@namespace': 'urn:etsi:nfv:yang:etsi-nfv-descriptors'}, 'descriptors:terminate-vnf': {'@module': 'etsi-nfv-descriptors', '@namespace': 'urn:etsi:nfv:yang:etsi-nfv-descriptors'}, 'vnf:terminate-vnf': {'@module': 'etsi-nfv-descriptors', '@namespace': 'urn:etsi:nfv:yang:etsi-nfv-descriptors'}, 'query-vnf': {'@module': 'etsi-nfv-descriptors', '@namespace': 'urn:etsi:nfv:yang:etsi-nfv-descriptors'}, 'etsi-nfv-descriptors:query-vnf': {'@module': 'etsi-nfv-descriptors', '@namespace': 'urn:etsi:nfv:yang:etsi-nfv-descriptors'}, 'nfv:query-vnf': {'@module': 'etsi-nfv-descriptors', '@namespace': 'urn:etsi:nfv:yang:etsi-nfv-descriptors'}, 'descriptors:query-vnf': {'@module': 'etsi-nfv-descriptors', '@namespace': 'urn:etsi:nfv:yang:etsi-nfv-descriptors'}, 'vnf:query-vnf': {'@module': 'etsi-nfv-descriptors', '@namespace': 'urn:etsi:nfv:yang:etsi-nfv-descriptors'}, 'heal-vnf': {'@module': 'etsi-nfv-descriptors', '@namespace': 'urn:etsi:nfv:yang:etsi-nfv-descriptors'}, 'etsi-nfv-descriptors:heal-vnf': {'@module': 'etsi-nfv-descriptors', '@namespace': 'urn:etsi:nfv:yang:etsi-nfv-descriptors'}, 'nfv:heal-vnf': {'@module': 'etsi-nfv-descriptors', '@namespace': 'urn:etsi:nfv:yang:etsi-nfv-descriptors'}, 'descriptors:heal-vnf': {'@module': 'etsi-nfv-descriptors', '@namespace': 'urn:etsi:nfv:yang:etsi-nfv-descriptors'}, 'vnf:heal-vnf': {'@module': 'etsi-nfv-descriptors', '@namespace': 'urn:etsi:nfv:yang:etsi-nfv-descriptors'}, 'operate-vnf': {'@module': 'etsi-nfv-descriptors', '@namespace': 'urn:etsi:nfv:yang:etsi-nfv-descriptors'}, 'etsi-nfv-descriptors:operate-vnf': {'@module': 'etsi-nfv-descriptors', '@namespace': 'urn:etsi:nfv:yang:etsi-nfv-descriptors'}, 'nfv:operate-vnf': {'@module': 'etsi-nfv-descriptors', '@namespace': 'urn:etsi:nfv:yang:etsi-nfv-descriptors'}, 'descriptors:operate-vnf': {'@module': 'etsi-nfv-descriptors', '@namespace': 'urn:etsi:nfv:yang:etsi-nfv-descriptors'}, 'vnf:operate-vnf': {'@module': 'etsi-nfv-descriptors', '@namespace': 'urn:etsi:nfv:yang:etsi-nfv-descriptors'}, 'modify-vnf-information': {'@module': 'etsi-nfv-descriptors', '@namespace': 'urn:etsi:nfv:yang:etsi-nfv-descriptors'}, 'etsi-nfv-descriptors:modify-vnf-information': {'@module': 'etsi-nfv-descriptors', '@namespace': 'urn:etsi:nfv:yang:etsi-nfv-descriptors'}, 'nfv:modify-vnf-information': {'@module': 'etsi-nfv-descriptors', '@namespace': 'urn:etsi:nfv:yang:etsi-nfv-descriptors'}, 'descriptors:modify-vnf-information': {'@module': 'etsi-nfv-descriptors', '@namespace': 'urn:etsi:nfv:yang:etsi-nfv-descriptors'}, 'vnf:modify-vnf-information': {'@module': 'etsi-nfv-descriptors', '@namespace': 'urn:etsi:nfv:yang:etsi-nfv-descriptors'}},)), is_leaf=False, yang_name="supported-operation", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='urn:etsi:nfv:yang:etsi-nfv-vnfd', defining_module='etsi-nfv-vnfd', yang_type='identityref', is_config=True)

26796 except (TypeError, ValueError):

26797 raise ValueError({

26798 'error-string': """supported_operation must be of a type compatible with identityref""",

26799 'defined-type': "etsi-nfv-vnfd:identityref",

26800 'generated-type': """YANGDynClass(unique=True, base=TypedListType(allowed_type=RestrictedClassType(base_type=str, restriction_type="dict_key", restriction_arg={'instantiate-vnf': {'@module': 'etsi-nfv-descriptors', '@namespace': 'urn:etsi:nfv:yang:etsi-nfv-descriptors'}, 'etsi-nfv-descriptors:instantiate-vnf': {'@module': 'etsi-nfv-descriptors', '@namespace': 'urn:etsi:nfv:yang:etsi-nfv-descriptors'}, 'nfv:instantiate-vnf': {'@module': 'etsi-nfv-descriptors', '@namespace': 'urn:etsi:nfv:yang:etsi-nfv-descriptors'}, 'descriptors:instantiate-vnf': {'@module': 'etsi-nfv-descriptors', '@namespace': 'urn:etsi:nfv:yang:etsi-nfv-descriptors'}, 'vnf:instantiate-vnf': {'@module': 'etsi-nfv-descriptors', '@namespace': 'urn:etsi:nfv:yang:etsi-nfv-descriptors'}, 'scale-vnf': {'@module': 'etsi-nfv-descriptors', '@namespace': 'urn:etsi:nfv:yang:etsi-nfv-descriptors'}, 'etsi-nfv-descriptors:scale-vnf': {'@module': 'etsi-nfv-descriptors', '@namespace': 'urn:etsi:nfv:yang:etsi-nfv-descriptors'}, 'nfv:scale-vnf': {'@module': 'etsi-nfv-descriptors', '@namespace': 'urn:etsi:nfv:yang:etsi-nfv-descriptors'}, 'descriptors:scale-vnf': {'@module': 'etsi-nfv-descriptors', '@namespace': 'urn:etsi:nfv:yang:etsi-nfv-descriptors'}, 'vnf:scale-vnf': {'@module': 'etsi-nfv-descriptors', '@namespace': 'urn:etsi:nfv:yang:etsi-nfv-descriptors'}, 'scale-vnf-to-level': {'@module': 'etsi-nfv-descriptors', '@namespace': 'urn:etsi:nfv:yang:etsi-nfv-descriptors'}, 'etsi-nfv-descriptors:scale-vnf-to-level': {'@module': 'etsi-nfv-descriptors', '@namespace': 'urn:etsi:nfv:yang:etsi-nfv-descriptors'}, 'nfv:scale-vnf-to-level': {'@module': 'etsi-nfv-descriptors', '@namespace': 'urn:etsi:nfv:yang:etsi-nfv-descriptors'}, 'descriptors:scale-vnf-to-level': {'@module': 'etsi-nfv-descriptors', '@namespace': 'urn:etsi:nfv:yang:etsi-nfv-descriptors'}, 'vnf:scale-vnf-to-level': {'@module': 'etsi-nfv-descriptors', '@namespace': 'urn:etsi:nfv:yang:etsi-nfv-descriptors'}, 'change-vnf-flavour': {'@module': 'etsi-nfv-descriptors', '@namespace': 'urn:etsi:nfv:yang:etsi-nfv-descriptors'}, 'etsi-nfv-descriptors:change-vnf-flavour': {'@module': 'etsi-nfv-descriptors', '@namespace': 'urn:etsi:nfv:yang:etsi-nfv-descriptors'}, 'nfv:change-vnf-flavour': {'@module': 'etsi-nfv-descriptors', '@namespace': 'urn:etsi:nfv:yang:etsi-nfv-descriptors'}, 'descriptors:change-vnf-flavour': {'@module': 'etsi-nfv-descriptors', '@namespace': 'urn:etsi:nfv:yang:etsi-nfv-descriptors'}, 'vnf:change-vnf-flavour': {'@module': 'etsi-nfv-descriptors', '@namespace': 'urn:etsi:nfv:yang:etsi-nfv-descriptors'}, 'terminate-vnf': {'@module': 'etsi-nfv-descriptors', '@namespace': 'urn:etsi:nfv:yang:etsi-nfv-descriptors'}, 'etsi-nfv-descriptors:terminate-vnf': {'@module': 'etsi-nfv-descriptors', '@namespace': 'urn:etsi:nfv:yang:etsi-nfv-descriptors'}, 'nfv:terminate-vnf': {'@module': 'etsi-nfv-descriptors', '@namespace': 'urn:etsi:nfv:yang:etsi-nfv-descriptors'}, 'descriptors:terminate-vnf': {'@module': 'etsi-nfv-descriptors', '@namespace': 'urn:etsi:nfv:yang:etsi-nfv-descriptors'}, 'vnf:terminate-vnf': {'@module': 'etsi-nfv-descriptors', '@namespace': 'urn:etsi:nfv:yang:etsi-nfv-descriptors'}, 'query-vnf': {'@module': 'etsi-nfv-descriptors', '@namespace': 'urn:etsi:nfv:yang:etsi-nfv-descriptors'}, 'etsi-nfv-descriptors:query-vnf': {'@module': 'etsi-nfv-descriptors', '@namespace': 'urn:etsi:nfv:yang:etsi-nfv-descriptors'}, 'nfv:query-vnf': {'@module': 'etsi-nfv-descriptors', '@namespace': 'urn:etsi:nfv:yang:etsi-nfv-descriptors'}, 'descriptors:query-vnf': {'@module': 'etsi-nfv-descriptors', '@namespace': 'urn:etsi:nfv:yang:etsi-nfv-descriptors'}, 'vnf:query-vnf': {'@module': 'etsi-nfv-descriptors', '@namespace': 'urn:etsi:nfv:yang:etsi-nfv-descriptors'}, 'heal-vnf': {'@module': 'etsi-nfv-descriptors', '@namespace': 'urn:etsi:nfv:yang:etsi-nfv-descriptors'}, 'etsi-nfv-descriptors:heal-vnf': {'@module': 'etsi-nfv-descriptors', '@namespace': 'urn:etsi:nfv:yang:etsi-nfv-descriptors'}, 'nfv:heal-vnf': {'@module': 'etsi-nfv-descriptors', '@namespace': 'urn:etsi:nfv:yang:etsi-nfv-descriptors'}, 'descriptors:heal-vnf': {'@module': 'etsi-nfv-descriptors', '@namespace': 'urn:etsi:nfv:yang:etsi-nfv-descriptors'}, 'vnf:heal-vnf': {'@module': 'etsi-nfv-descriptors', '@namespace': 'urn:etsi:nfv:yang:etsi-nfv-descriptors'}, 'operate-vnf': {'@module': 'etsi-nfv-descriptors', '@namespace': 'urn:etsi:nfv:yang:etsi-nfv-descriptors'}, 'etsi-nfv-descriptors:operate-vnf': {'@module': 'etsi-nfv-descriptors', '@namespace': 'urn:etsi:nfv:yang:etsi-nfv-descriptors'}, 'nfv:operate-vnf': {'@module': 'etsi-nfv-descriptors', '@namespace': 'urn:etsi:nfv:yang:etsi-nfv-descriptors'}, 'descriptors:operate-vnf': {'@module': 'etsi-nfv-descriptors', '@namespace': 'urn:etsi:nfv:yang:etsi-nfv-descriptors'}, 'vnf:operate-vnf': {'@module': 'etsi-nfv-descriptors', '@namespace': 'urn:etsi:nfv:yang:etsi-nfv-descriptors'}, 'modify-vnf-information': {'@module': 'etsi-nfv-descriptors', '@namespace': 'urn:etsi:nfv:yang:etsi-nfv-descriptors'}, 'etsi-nfv-descriptors:modify-vnf-information': {'@module': 'etsi-nfv-descriptors', '@namespace': 'urn:etsi:nfv:yang:etsi-nfv-descriptors'}, 'nfv:modify-vnf-information': {'@module': 'etsi-nfv-descriptors', '@namespace': 'urn:etsi:nfv:yang:etsi-nfv-descriptors'}, 'descriptors:modify-vnf-information': {'@module': 'etsi-nfv-descriptors', '@namespace': 'urn:etsi:nfv:yang:etsi-nfv-descriptors'}, 'vnf:modify-vnf-information': {'@module': 'etsi-nfv-descriptors', '@namespace': 'urn:etsi:nfv:yang:etsi-nfv-descriptors'}},)), is_leaf=False, yang_name="supported-operation", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='urn:etsi:nfv:yang:etsi-nfv-vnfd', defining_module='etsi-nfv-vnfd', yang_type='identityref', is_config=True)""",

26801 })

26802

26803 self.__supported_operation = t

26804 if hasattr(self, '_set'):

26805 self._set()

26806

26807 def _unset_supported_operation(self):

26808 self.__supported_operation = YANGDynClass(unique=True, base=TypedListType(allowed_type=RestrictedClassType(base_type=str, restriction_type="dict_key", restriction_arg={'instantiate-vnf': {'@module': 'etsi-nfv-descriptors', '@namespace': 'urn:etsi:nfv:yang:etsi-nfv-descriptors'}, 'etsi-nfv-descriptors:instantiate-vnf': {'@module': 'etsi-nfv-descriptors', '@namespace': 'urn:etsi:nfv:yang:etsi-nfv-descriptors'}, 'nfv:instantiate-vnf': {'@module': 'etsi-nfv-descriptors', '@namespace': 'urn:etsi:nfv:yang:etsi-nfv-descriptors'}, 'descriptors:instantiate-vnf': {'@module': 'etsi-nfv-descriptors', '@namespace': 'urn:etsi:nfv:yang:etsi-nfv-descriptors'}, 'vnf:instantiate-vnf': {'@module': 'etsi-nfv-descriptors', '@namespace': 'urn:etsi:nfv:yang:etsi-nfv-descriptors'}, 'scale-vnf': {'@module': 'etsi-nfv-descriptors', '@namespace': 'urn:etsi:nfv:yang:etsi-nfv-descriptors'}, 'etsi-nfv-descriptors:scale-vnf': {'@module': 'etsi-nfv-descriptors', '@namespace': 'urn:etsi:nfv:yang:etsi-nfv-descriptors'}, 'nfv:scale-vnf': {'@module': 'etsi-nfv-descriptors', '@namespace': 'urn:etsi:nfv:yang:etsi-nfv-descriptors'}, 'descriptors:scale-vnf': {'@module': 'etsi-nfv-descriptors', '@namespace': 'urn:etsi:nfv:yang:etsi-nfv-descriptors'}, 'vnf:scale-vnf': {'@module': 'etsi-nfv-descriptors', '@namespace': 'urn:etsi:nfv:yang:etsi-nfv-descriptors'}, 'scale-vnf-to-level': {'@module': 'etsi-nfv-descriptors', '@namespace': 'urn:etsi:nfv:yang:etsi-nfv-descriptors'}, 'etsi-nfv-descriptors:scale-vnf-to-level': {'@module': 'etsi-nfv-descriptors', '@namespace': 'urn:etsi:nfv:yang:etsi-nfv-descriptors'}, 'nfv:scale-vnf-to-level': {'@module': 'etsi-nfv-descriptors', '@namespace': 'urn:etsi:nfv:yang:etsi-nfv-descriptors'}, 'descriptors:scale-vnf-to-level': {'@module': 'etsi-nfv-descriptors', '@namespace': 'urn:etsi:nfv:yang:etsi-nfv-descriptors'}, 'vnf:scale-vnf-to-level': {'@module': 'etsi-nfv-descriptors', '@namespace': 'urn:etsi:nfv:yang:etsi-nfv-descriptors'}, 'change-vnf-flavour': {'@module': 'etsi-nfv-descriptors', '@namespace': 'urn:etsi:nfv:yang:etsi-nfv-descriptors'}, 'etsi-nfv-descriptors:change-vnf-flavour': {'@module': 'etsi-nfv-descriptors', '@namespace': 'urn:etsi:nfv:yang:etsi-nfv-descriptors'}, 'nfv:change-vnf-flavour': {'@module': 'etsi-nfv-descriptors', '@namespace': 'urn:etsi:nfv:yang:etsi-nfv-descriptors'}, 'descriptors:change-vnf-flavour': {'@module': 'etsi-nfv-descriptors', '@namespace': 'urn:etsi:nfv:yang:etsi-nfv-descriptors'}, 'vnf:change-vnf-flavour': {'@module': 'etsi-nfv-descriptors', '@namespace': 'urn:etsi:nfv:yang:etsi-nfv-descriptors'}, 'terminate-vnf': {'@module': 'etsi-nfv-descriptors', '@namespace': 'urn:etsi:nfv:yang:etsi-nfv-descriptors'}, 'etsi-nfv-descriptors:terminate-vnf': {'@module': 'etsi-nfv-descriptors', '@namespace': 'urn:etsi:nfv:yang:etsi-nfv-descriptors'}, 'nfv:terminate-vnf': {'@module': 'etsi-nfv-descriptors', '@namespace': 'urn:etsi:nfv:yang:etsi-nfv-descriptors'}, 'descriptors:terminate-vnf': {'@module': 'etsi-nfv-descriptors', '@namespace': 'urn:etsi:nfv:yang:etsi-nfv-descriptors'}, 'vnf:terminate-vnf': {'@module': 'etsi-nfv-descriptors', '@namespace': 'urn:etsi:nfv:yang:etsi-nfv-descriptors'}, 'query-vnf': {'@module': 'etsi-nfv-descriptors', '@namespace': 'urn:etsi:nfv:yang:etsi-nfv-descriptors'}, 'etsi-nfv-descriptors:query-vnf': {'@module': 'etsi-nfv-descriptors', '@namespace': 'urn:etsi:nfv:yang:etsi-nfv-descriptors'}, 'nfv:query-vnf': {'@module': 'etsi-nfv-descriptors', '@namespace': 'urn:etsi:nfv:yang:etsi-nfv-descriptors'}, 'descriptors:query-vnf': {'@module': 'etsi-nfv-descriptors', '@namespace': 'urn:etsi:nfv:yang:etsi-nfv-descriptors'}, 'vnf:query-vnf': {'@module': 'etsi-nfv-descriptors', '@namespace': 'urn:etsi:nfv:yang:etsi-nfv-descriptors'}, 'heal-vnf': {'@module': 'etsi-nfv-descriptors', '@namespace': 'urn:etsi:nfv:yang:etsi-nfv-descriptors'}, 'etsi-nfv-descriptors:heal-vnf': {'@module': 'etsi-nfv-descriptors', '@namespace': 'urn:etsi:nfv:yang:etsi-nfv-descriptors'}, 'nfv:heal-vnf': {'@module': 'etsi-nfv-descriptors', '@namespace': 'urn:etsi:nfv:yang:etsi-nfv-descriptors'}, 'descriptors:heal-vnf': {'@module': 'etsi-nfv-descriptors', '@namespace': 'urn:etsi:nfv:yang:etsi-nfv-descriptors'}, 'vnf:heal-vnf': {'@module': 'etsi-nfv-descriptors', '@namespace': 'urn:etsi:nfv:yang:etsi-nfv-descriptors'}, 'operate-vnf': {'@module': 'etsi-nfv-descriptors', '@namespace': 'urn:etsi:nfv:yang:etsi-nfv-descriptors'}, 'etsi-nfv-descriptors:operate-vnf': {'@module': 'etsi-nfv-descriptors', '@namespace': 'urn:etsi:nfv:yang:etsi-nfv-descriptors'}, 'nfv:operate-vnf': {'@module': 'etsi-nfv-descriptors', '@namespace': 'urn:etsi:nfv:yang:etsi-nfv-descriptors'}, 'descriptors:operate-vnf': {'@module': 'etsi-nfv-descriptors', '@namespace': 'urn:etsi:nfv:yang:etsi-nfv-descriptors'}, 'vnf:operate-vnf': {'@module': 'etsi-nfv-descriptors', '@namespace': 'urn:etsi:nfv:yang:etsi-nfv-descriptors'}, 'modify-vnf-information': {'@module': 'etsi-nfv-descriptors', '@namespace': 'urn:etsi:nfv:yang:etsi-nfv-descriptors'}, 'etsi-nfv-descriptors:modify-vnf-information': {'@module': 'etsi-nfv-descriptors', '@namespace': 'urn:etsi:nfv:yang:etsi-nfv-descriptors'}, 'nfv:modify-vnf-information': {'@module': 'etsi-nfv-descriptors', '@namespace': 'urn:etsi:nfv:yang:etsi-nfv-descriptors'}, 'descriptors:modify-vnf-information': {'@module': 'etsi-nfv-descriptors', '@namespace': 'urn:etsi:nfv:yang:etsi-nfv-descriptors'}, 'vnf:modify-vnf-information': {'@module': 'etsi-nfv-descriptors', '@namespace': 'urn:etsi:nfv:yang:etsi-nfv-descriptors'}},)), is_leaf=False, yang_name="supported-operation", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='urn:etsi:nfv:yang:etsi-nfv-vnfd', defining_module='etsi-nfv-vnfd', yang_type='identityref', is_config=True)

26809

26810

26811 def _get_lcm_operations_configuration(self):

26812 """

26813 Getter method for lcm_operations_configuration, mapped from YANG variable /vnfd/df/lcm_operations_configuration (container)

26814

26815 YANG Description: This information element is a container for all

26816 attributes that affect the invocation of the VNF

26817 Lifecycle Management operations, structured by

26818 operation.

26819 """

26820 return self.__lcm_operations_configuration

26821

26822 def _set_lcm_operations_configuration(self, v, load=False):

26823 """

26824 Setter method for lcm_operations_configuration, mapped from YANG variable /vnfd/df/lcm_operations_configuration (container)

26825 If this variable is read-only (config: false) in the

26826 source YANG file, then _set_lcm_operations_configuration is considered as a private

26827 method. Backends looking to populate this variable should

26828 do so via calling thisObj._set_lcm_operations_configuration() directly.

26829

26830 YANG Description: This information element is a container for all

26831 attributes that affect the invocation of the VNF

26832 Lifecycle Management operations, structured by

26833 operation.

26834 """

26835 if hasattr(v, "_utype"):

26836 v = v._utype(v)

26837 try:

26838 t = YANGDynClass(v,base=yc_lcm_operations_configuration_etsi_nfv_vnfd__vnfd_df_lcm_operations_configuration, is_container='container', yang_name="lcm-operations-configuration", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, extensions=None, namespace='urn:etsi:nfv:yang:etsi-nfv-vnfd', defining_module='etsi-nfv-vnfd', yang_type='container', is_config=True)

26839 except (TypeError, ValueError):

26840 raise ValueError({

26841 'error-string': """lcm_operations_configuration must be of a type compatible with container""",

26842 'defined-type': "container",

26843 'generated-type': """YANGDynClass(base=yc_lcm_operations_configuration_etsi_nfv_vnfd__vnfd_df_lcm_operations_configuration, is_container='container', yang_name="lcm-operations-configuration", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, extensions=None, namespace='urn:etsi:nfv:yang:etsi-nfv-vnfd', defining_module='etsi-nfv-vnfd', yang_type='container', is_config=True)""",

26844 })

26845

26846 self.__lcm_operations_configuration = t

26847 if hasattr(self, '_set'):

26848 self._set()

26849

26850 def _unset_lcm_operations_configuration(self):

26851 self.__lcm_operations_configuration = YANGDynClass(base=yc_lcm_operations_configuration_etsi_nfv_vnfd__vnfd_df_lcm_operations_configuration, is_container='container', yang_name="lcm-operations-configuration", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, extensions=None, namespace='urn:etsi:nfv:yang:etsi-nfv-vnfd', defining_module='etsi-nfv-vnfd', yang_type='container', is_config=True)

26852

26853

26854 def _get_affinity_or_anti_affinity_group(self):

26855 """

26856 Getter method for affinity_or_anti_affinity_group, mapped from YANG variable /vnfd/df/affinity_or_anti_affinity_group (list)

26857

26858 YANG Description: The AffinityOrAntiAffinityGroup describes the affinity

26859 or anti-affinity relationship applicable between the

26860 virtualization containers to be created based on

26861 different VDUs, or between internal VLs to be created

26862 based on different VnfVirtualLinkDesc(s).

26863

26864 Per VNF, the affinity/anti-affinity rules defined using

26865 this information element, using the

26866 LocalAffinityOrAntiAffinityRule information element, and

26867 using the placement constraints in the

26868 GrantLifecycleOperation as defined in ETSI GS NFV-IFA

26869 007 [i.3] should be conflict-free. In case of conflicts,

26870 the placement constraints in the

26871 GrantLifecycleOperation shall take precedence.

26872 """

26873 return self.__affinity_or_anti_affinity_group

26874

26875 def _set_affinity_or_anti_affinity_group(self, v, load=False):

26876 """

26877 Setter method for affinity_or_anti_affinity_group, mapped from YANG variable /vnfd/df/affinity_or_anti_affinity_group (list)

26878 If this variable is read-only (config: false) in the

26879 source YANG file, then _set_affinity_or_anti_affinity_group is considered as a private

26880 method. Backends looking to populate this variable should

26881 do so via calling thisObj._set_affinity_or_anti_affinity_group() directly.

26882

26883 YANG Description: The AffinityOrAntiAffinityGroup describes the affinity

26884 or anti-affinity relationship applicable between the

26885 virtualization containers to be created based on

26886 different VDUs, or between internal VLs to be created

26887 based on different VnfVirtualLinkDesc(s).

26888

26889 Per VNF, the affinity/anti-affinity rules defined using

26890 this information element, using the

26891 LocalAffinityOrAntiAffinityRule information element, and

26892 using the placement constraints in the

26893 GrantLifecycleOperation as defined in ETSI GS NFV-IFA

26894 007 [i.3] should be conflict-free. In case of conflicts,

26895 the placement constraints in the

26896 GrantLifecycleOperation shall take precedence.

26897 """

26898 if hasattr(v, "_utype"):

26899 v = v._utype(v)

26900 try:

26901 t = YANGDynClass(v,base=YANGListType("id",yc_affinity_or_anti_affinity_group_etsi_nfv_vnfd__vnfd_df_affinity_or_anti_affinity_group, yang_name="affinity-or-anti-affinity-group", parent=self, is_container='list', user_ordered=False, path_helper=self._path_helper, yang_keys='id', extensions=None), is_container='list', yang_name="affinity-or-anti-affinity-group", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, extensions=None, namespace='urn:etsi:nfv:yang:etsi-nfv-vnfd', defining_module='etsi-nfv-vnfd', yang_type='list', is_config=True)

26902 except (TypeError, ValueError):

26903 raise ValueError({

26904 'error-string': """affinity_or_anti_affinity_group must be of a type compatible with list""",

26905 'defined-type': "list",

26906 'generated-type': """YANGDynClass(base=YANGListType("id",yc_affinity_or_anti_affinity_group_etsi_nfv_vnfd__vnfd_df_affinity_or_anti_affinity_group, yang_name="affinity-or-anti-affinity-group", parent=self, is_container='list', user_ordered=False, path_helper=self._path_helper, yang_keys='id', extensions=None), is_container='list', yang_name="affinity-or-anti-affinity-group", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, extensions=None, namespace='urn:etsi:nfv:yang:etsi-nfv-vnfd', defining_module='etsi-nfv-vnfd', yang_type='list', is_config=True)""",

26907 })

26908

26909 self.__affinity_or_anti_affinity_group = t

26910 if hasattr(self, '_set'):

26911 self._set()

26912

26913 def _unset_affinity_or_anti_affinity_group(self):

26914 self.__affinity_or_anti_affinity_group = YANGDynClass(base=YANGListType("id",yc_affinity_or_anti_affinity_group_etsi_nfv_vnfd__vnfd_df_affinity_or_anti_affinity_group, yang_name="affinity-or-anti-affinity-group", parent=self, is_container='list', user_ordered=False, path_helper=self._path_helper, yang_keys='id', extensions=None), is_container='list', yang_name="affinity-or-anti-affinity-group", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, extensions=None, namespace='urn:etsi:nfv:yang:etsi-nfv-vnfd', defining_module='etsi-nfv-vnfd', yang_type='list', is_config=True)

26915

26916

26917 def _get_indicator(self):

26918 """

26919 Getter method for indicator, mapped from YANG variable /vnfd/df/indicator (list)

26920

26921 YANG Description: Declares the VNF indicators that are supported by this

26922 VNF (specific to this DF).

26923 """

26924 return self.__indicator

26925

26926 def _set_indicator(self, v, load=False):

26927 """

26928 Setter method for indicator, mapped from YANG variable /vnfd/df/indicator (list)

26929 If this variable is read-only (config: false) in the

26930 source YANG file, then _set_indicator is considered as a private

26931 method. Backends looking to populate this variable should

26932 do so via calling thisObj._set_indicator() directly.

26933

26934 YANG Description: Declares the VNF indicators that are supported by this

26935 VNF (specific to this DF).

26936 """

26937 if hasattr(v, "_utype"):

26938 v = v._utype(v)

26939 try:

26940 t = YANGDynClass(v,base=YANGListType("id",yc_indicator_etsi_nfv_vnfd__vnfd_df_indicator, yang_name="indicator", parent=self, is_container='list', user_ordered=False, path_helper=self._path_helper, yang_keys='id', extensions=None), is_container='list', yang_name="indicator", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, extensions=None, namespace='urn:etsi:nfv:yang:etsi-nfv-vnfd', defining_module='etsi-nfv-vnfd', yang_type='list', is_config=True)

26941 except (TypeError, ValueError):

26942 raise ValueError({

26943 'error-string': """indicator must be of a type compatible with list""",

26944 'defined-type': "list",

26945 'generated-type': """YANGDynClass(base=YANGListType("id",yc_indicator_etsi_nfv_vnfd__vnfd_df_indicator, yang_name="indicator", parent=self, is_container='list', user_ordered=False, path_helper=self._path_helper, yang_keys='id', extensions=None), is_container='list', yang_name="indicator", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, extensions=None, namespace='urn:etsi:nfv:yang:etsi-nfv-vnfd', defining_module='etsi-nfv-vnfd', yang_type='list', is_config=True)""",

26946 })

26947

26948 self.__indicator = t

26949 if hasattr(self, '_set'):

26950 self._set()

26951

26952 def _unset_indicator(self):

26953 self.__indicator = YANGDynClass(base=YANGListType("id",yc_indicator_etsi_nfv_vnfd__vnfd_df_indicator, yang_name="indicator", parent=self, is_container='list', user_ordered=False, path_helper=self._path_helper, yang_keys='id', extensions=None), is_container='list', yang_name="indicator", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, extensions=None, namespace='urn:etsi:nfv:yang:etsi-nfv-vnfd', defining_module='etsi-nfv-vnfd', yang_type='list', is_config=True)

26954

26955

26956 def _get_supported_vnf_interfaces(self):

26957 """

26958 Getter method for supported_vnf_interfaces, mapped from YANG variable /vnfd/df/supported_vnf_interfaces (list)

26959

26960 YANG Description: Indicates which interfaces the VNF produces and provides

26961 additional details on how to access the interface

26962 endpoints.

26963 """

26964 return self.__supported_vnf_interfaces

26965

26966 def _set_supported_vnf_interfaces(self, v, load=False):

26967 """

26968 Setter method for supported_vnf_interfaces, mapped from YANG variable /vnfd/df/supported_vnf_interfaces (list)

26969 If this variable is read-only (config: false) in the

26970 source YANG file, then _set_supported_vnf_interfaces is considered as a private

26971 method. Backends looking to populate this variable should

26972 do so via calling thisObj._set_supported_vnf_interfaces() directly.

26973

26974 YANG Description: Indicates which interfaces the VNF produces and provides

26975 additional details on how to access the interface

26976 endpoints.

26977 """

26978 if hasattr(v, "_utype"):

26979 v = v._utype(v)

26980 try:

26981 t = YANGDynClass(v,base=YANGListType("name",yc_supported_vnf_interfaces_etsi_nfv_vnfd__vnfd_df_supported_vnf_interfaces, yang_name="supported-vnf-interfaces", parent=self, is_container='list', user_ordered=False, path_helper=self._path_helper, yang_keys='name', extensions=None), is_container='list', yang_name="supported-vnf-interfaces", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, extensions=None, namespace='urn:etsi:nfv:yang:etsi-nfv-vnfd', defining_module='etsi-nfv-vnfd', yang_type='list', is_config=True)

26982 except (TypeError, ValueError):

26983 raise ValueError({

26984 'error-string': """supported_vnf_interfaces must be of a type compatible with list""",

26985 'defined-type': "list",

26986 'generated-type': """YANGDynClass(base=YANGListType("name",yc_supported_vnf_interfaces_etsi_nfv_vnfd__vnfd_df_supported_vnf_interfaces, yang_name="supported-vnf-interfaces", parent=self, is_container='list', user_ordered=False, path_helper=self._path_helper, yang_keys='name', extensions=None), is_container='list', yang_name="supported-vnf-interfaces", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, extensions=None, namespace='urn:etsi:nfv:yang:etsi-nfv-vnfd', defining_module='etsi-nfv-vnfd', yang_type='list', is_config=True)""",

26987 })

26988

26989 self.__supported_vnf_interfaces = t

26990 if hasattr(self, '_set'):

26991 self._set()

26992

26993 def _unset_supported_vnf_interfaces(self):

26994 self.__supported_vnf_interfaces = YANGDynClass(base=YANGListType("name",yc_supported_vnf_interfaces_etsi_nfv_vnfd__vnfd_df_supported_vnf_interfaces, yang_name="supported-vnf-interfaces", parent=self, is_container='list', user_ordered=False, path_helper=self._path_helper, yang_keys='name', extensions=None), is_container='list', yang_name="supported-vnf-interfaces", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, extensions=None, namespace='urn:etsi:nfv:yang:etsi-nfv-vnfd', defining_module='etsi-nfv-vnfd', yang_type='list', is_config=True)

26995

26996

26997 def _get_monitoring_parameter(self):

26998 """

26999 Getter method for monitoring_parameter, mapped from YANG variable /vnfd/df/monitoring_parameter (list)

27000

27001 YANG Description: Defines the virtualised resources monitoring parameters

27002 on VNF level.

27003 """

27004 return self.__monitoring_parameter

27005

27006 def _set_monitoring_parameter(self, v, load=False):

27007 """

27008 Setter method for monitoring_parameter, mapped from YANG variable /vnfd/df/monitoring_parameter (list)

27009 If this variable is read-only (config: false) in the

27010 source YANG file, then _set_monitoring_parameter is considered as a private

27011 method. Backends looking to populate this variable should

27012 do so via calling thisObj._set_monitoring_parameter() directly.

27013

27014 YANG Description: Defines the virtualised resources monitoring parameters

27015 on VNF level.

27016 """

27017 if hasattr(v, "_utype"):

27018 v = v._utype(v)

27019 try:

27020 t = YANGDynClass(v,base=YANGListType("id",yc_monitoring_parameter_etsi_nfv_vnfd__vnfd_df_monitoring_parameter, yang_name="monitoring-parameter", parent=self, is_container='list', user_ordered=False, path_helper=self._path_helper, yang_keys='id', extensions=None), is_container='list', yang_name="monitoring-parameter", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, extensions=None, namespace='urn:etsi:nfv:yang:etsi-nfv-vnfd', defining_module='etsi-nfv-vnfd', yang_type='list', is_config=True)

27021 except (TypeError, ValueError):

27022 raise ValueError({

27023 'error-string': """monitoring_parameter must be of a type compatible with list""",

27024 'defined-type': "list",

27025 'generated-type': """YANGDynClass(base=YANGListType("id",yc_monitoring_parameter_etsi_nfv_vnfd__vnfd_df_monitoring_parameter, yang_name="monitoring-parameter", parent=self, is_container='list', user_ordered=False, path_helper=self._path_helper, yang_keys='id', extensions=None), is_container='list', yang_name="monitoring-parameter", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, extensions=None, namespace='urn:etsi:nfv:yang:etsi-nfv-vnfd', defining_module='etsi-nfv-vnfd', yang_type='list', is_config=True)""",

27026 })

27027

27028 self.__monitoring_parameter = t

27029 if hasattr(self, '_set'):

27030 self._set()

27031

27032 def _unset_monitoring_parameter(self):

27033 self.__monitoring_parameter = YANGDynClass(base=YANGListType("id",yc_monitoring_parameter_etsi_nfv_vnfd__vnfd_df_monitoring_parameter, yang_name="monitoring-parameter", parent=self, is_container='list', user_ordered=False, path_helper=self._path_helper, yang_keys='id', extensions=None), is_container='list', yang_name="monitoring-parameter", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, extensions=None, namespace='urn:etsi:nfv:yang:etsi-nfv-vnfd', defining_module='etsi-nfv-vnfd', yang_type='list', is_config=True)

27034

27035

27036 def _get_scaling_aspect(self):

27037 """

27038 Getter method for scaling_aspect, mapped from YANG variable /vnfd/df/scaling_aspect (list)

27039

27040 YANG Description: The scaling aspects supported by this DF of the VNF.

27041 scalingAspect shall be present if the VNF supports

27042 scaling.

27043 """

27044 return self.__scaling_aspect

27045

27046 def _set_scaling_aspect(self, v, load=False):

27047 """

27048 Setter method for scaling_aspect, mapped from YANG variable /vnfd/df/scaling_aspect (list)

27049 If this variable is read-only (config: false) in the

27050 source YANG file, then _set_scaling_aspect is considered as a private

27051 method. Backends looking to populate this variable should

27052 do so via calling thisObj._set_scaling_aspect() directly.

27053

27054 YANG Description: The scaling aspects supported by this DF of the VNF.

27055 scalingAspect shall be present if the VNF supports

27056 scaling.

27057 """

27058 if hasattr(v, "_utype"):

27059 v = v._utype(v)

27060 try:

27061 t = YANGDynClass(v,base=YANGListType("id",yc_scaling_aspect_etsi_nfv_vnfd__vnfd_df_scaling_aspect, yang_name="scaling-aspect", parent=self, is_container='list', user_ordered=False, path_helper=self._path_helper, yang_keys='id', extensions=None), is_container='list', yang_name="scaling-aspect", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, extensions=None, namespace='urn:etsi:nfv:yang:etsi-nfv-vnfd', defining_module='etsi-nfv-vnfd', yang_type='list', is_config=True)

27062 except (TypeError, ValueError):

27063 raise ValueError({

27064 'error-string': """scaling_aspect must be of a type compatible with list""",

27065 'defined-type': "list",

27066 'generated-type': """YANGDynClass(base=YANGListType("id",yc_scaling_aspect_etsi_nfv_vnfd__vnfd_df_scaling_aspect, yang_name="scaling-aspect", parent=self, is_container='list', user_ordered=False, path_helper=self._path_helper, yang_keys='id', extensions=None), is_container='list', yang_name="scaling-aspect", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, extensions=None, namespace='urn:etsi:nfv:yang:etsi-nfv-vnfd', defining_module='etsi-nfv-vnfd', yang_type='list', is_config=True)""",

27067 })

27068

27069 self.__scaling_aspect = t

27070 if hasattr(self, '_set'):

27071 self._set()

27072

27073 def _unset_scaling_aspect(self):

27074 self.__scaling_aspect = YANGDynClass(base=YANGListType("id",yc_scaling_aspect_etsi_nfv_vnfd__vnfd_df_scaling_aspect, yang_name="scaling-aspect", parent=self, is_container='list', user_ordered=False, path_helper=self._path_helper, yang_keys='id', extensions=None), is_container='list', yang_name="scaling-aspect", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, extensions=None, namespace='urn:etsi:nfv:yang:etsi-nfv-vnfd', defining_module='etsi-nfv-vnfd', yang_type='list', is_config=True)

27075

27076

27077 def _get_exporters_endpoints(self):

27078 """

27079 Getter method for exporters_endpoints, mapped from YANG variable /vnfd/df/exporters_endpoints (container)

27080 """

27081 return self.__exporters_endpoints

27082

27083 def _set_exporters_endpoints(self, v, load=False):

27084 """

27085 Setter method for exporters_endpoints, mapped from YANG variable /vnfd/df/exporters_endpoints (container)

27086 If this variable is read-only (config: false) in the

27087 source YANG file, then _set_exporters_endpoints is considered as a private

27088 method. Backends looking to populate this variable should

27089 do so via calling thisObj._set_exporters_endpoints() directly.

27090 """

27091 if hasattr(v, "_utype"):

27092 v = v._utype(v)

27093 try:

27094 t = YANGDynClass(v,base=yc_exporters_endpoints_etsi_nfv_vnfd__vnfd_df_exporters_endpoints, is_container='container', yang_name="exporters-endpoints", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, extensions=None, namespace='urn:etsi:osm:yang:augments:exporters', defining_module='exporters', yang_type='container', is_config=True)

27095 except (TypeError, ValueError):

27096 raise ValueError({

27097 'error-string': """exporters_endpoints must be of a type compatible with container""",

27098 'defined-type': "container",

27099 'generated-type': """YANGDynClass(base=yc_exporters_endpoints_etsi_nfv_vnfd__vnfd_df_exporters_endpoints, is_container='container', yang_name="exporters-endpoints", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, extensions=None, namespace='urn:etsi:osm:yang:augments:exporters', defining_module='exporters', yang_type='container', is_config=True)""",

27100 })

27101

27102 self.__exporters_endpoints = t

27103 if hasattr(self, '_set'):

27104 self._set()

27105

27106 def _unset_exporters_endpoints(self):

27107 self.__exporters_endpoints = YANGDynClass(base=yc_exporters_endpoints_etsi_nfv_vnfd__vnfd_df_exporters_endpoints, is_container='container', yang_name="exporters-endpoints", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, extensions=None, namespace='urn:etsi:osm:yang:augments:exporters', defining_module='exporters', yang_type='container', is_config=True)

27108

27109

27110 def _get_healing_aspect(self):

27111 """

27112 Getter method for healing_aspect, mapped from YANG variable /vnfd/df/healing_aspect (list)

27113

27114 YANG Description: The healing aspects supported by this DF of the VNF.

27115 healingAspect shall be present if the VNF supports

27116 healing.

27117 """

27118 return self.__healing_aspect

27119

27120 def _set_healing_aspect(self, v, load=False):

27121 """

27122 Setter method for healing_aspect, mapped from YANG variable /vnfd/df/healing_aspect (list)

27123 If this variable is read-only (config: false) in the

27124 source YANG file, then _set_healing_aspect is considered as a private

27125 method. Backends looking to populate this variable should

27126 do so via calling thisObj._set_healing_aspect() directly.

27127

27128 YANG Description: The healing aspects supported by this DF of the VNF.

27129 healingAspect shall be present if the VNF supports

27130 healing.

27131 """

27132 if hasattr(v, "_utype"):

27133 v = v._utype(v)

27134 try:

27135 t = YANGDynClass(v,base=YANGListType("id",yc_healing_aspect_etsi_nfv_vnfd__vnfd_df_healing_aspect, yang_name="healing-aspect", parent=self, is_container='list', user_ordered=False, path_helper=self._path_helper, yang_keys='id', extensions=None), is_container='list', yang_name="healing-aspect", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, extensions=None, namespace='urn:etsi:osm:yang:augments:healing', defining_module='healing', yang_type='list', is_config=True)

27136 except (TypeError, ValueError):

27137 raise ValueError({

27138 'error-string': """healing_aspect must be of a type compatible with list""",

27139 'defined-type': "list",

27140 'generated-type': """YANGDynClass(base=YANGListType("id",yc_healing_aspect_etsi_nfv_vnfd__vnfd_df_healing_aspect, yang_name="healing-aspect", parent=self, is_container='list', user_ordered=False, path_helper=self._path_helper, yang_keys='id', extensions=None), is_container='list', yang_name="healing-aspect", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, extensions=None, namespace='urn:etsi:osm:yang:augments:healing', defining_module='healing', yang_type='list', is_config=True)""",

27141 })

27142

27143 self.__healing_aspect = t

27144 if hasattr(self, '_set'):

27145 self._set()

27146

27147 def _unset_healing_aspect(self):

27148 self.__healing_aspect = YANGDynClass(base=YANGListType("id",yc_healing_aspect_etsi_nfv_vnfd__vnfd_df_healing_aspect, yang_name="healing-aspect", parent=self, is_container='list', user_ordered=False, path_helper=self._path_helper, yang_keys='id', extensions=None), is_container='list', yang_name="healing-aspect", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, extensions=None, namespace='urn:etsi:osm:yang:augments:healing', defining_module='healing', yang_type='list', is_config=True)

27149

27150

27151 def _get_kdu_resource_profile(self):

27152 """

27153 Getter method for kdu_resource_profile, mapped from YANG variable /vnfd/df/kdu_resource_profile (list)

27154

27155 YANG Description: The Kdu resource profile describes additional instantiation data for

27156 a given KDU used in a deployment flavour.

27157 """

27158 return self.__kdu_resource_profile

27159

27160 def _set_kdu_resource_profile(self, v, load=False):

27161 """

27162 Setter method for kdu_resource_profile, mapped from YANG variable /vnfd/df/kdu_resource_profile (list)

27163 If this variable is read-only (config: false) in the

27164 source YANG file, then _set_kdu_resource_profile is considered as a private

27165 method. Backends looking to populate this variable should

27166 do so via calling thisObj._set_kdu_resource_profile() directly.

27167

27168 YANG Description: The Kdu resource profile describes additional instantiation data for

27169 a given KDU used in a deployment flavour.

27170 """

27171 if hasattr(v, "_utype"):

27172 v = v._utype(v)

27173 try:

27174 t = YANGDynClass(v,base=YANGListType("id",yc_kdu_resource_profile_etsi_nfv_vnfd__vnfd_df_kdu_resource_profile, yang_name="kdu-resource-profile", parent=self, is_container='list', user_ordered=False, path_helper=self._path_helper, yang_keys='id', extensions=None), is_container='list', yang_name="kdu-resource-profile", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, extensions=None, namespace='urn:etsi:osm:yang:augments:scaling', defining_module='scaling', yang_type='list', is_config=True)

27175 except (TypeError, ValueError):

27176 raise ValueError({

27177 'error-string': """kdu_resource_profile must be of a type compatible with list""",

27178 'defined-type': "list",

27179 'generated-type': """YANGDynClass(base=YANGListType("id",yc_kdu_resource_profile_etsi_nfv_vnfd__vnfd_df_kdu_resource_profile, yang_name="kdu-resource-profile", parent=self, is_container='list', user_ordered=False, path_helper=self._path_helper, yang_keys='id', extensions=None), is_container='list', yang_name="kdu-resource-profile", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, extensions=None, namespace='urn:etsi:osm:yang:augments:scaling', defining_module='scaling', yang_type='list', is_config=True)""",

27180 })

27181

27182 self.__kdu_resource_profile = t

27183 if hasattr(self, '_set'):

27184 self._set()

27185

27186 def _unset_kdu_resource_profile(self):

27187 self.__kdu_resource_profile = YANGDynClass(base=YANGListType("id",yc_kdu_resource_profile_etsi_nfv_vnfd__vnfd_df_kdu_resource_profile, yang_name="kdu-resource-profile", parent=self, is_container='list', user_ordered=False, path_helper=self._path_helper, yang_keys='id', extensions=None), is_container='list', yang_name="kdu-resource-profile", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, extensions=None, namespace='urn:etsi:osm:yang:augments:scaling', defining_module='scaling', yang_type='list', is_config=True)

27188

27189 id = __builtin__.property(_get_id, _set_id)

27190 description = __builtin__.property(_get_description, _set_description)

27191 vdu_profile = __builtin__.property(_get_vdu_profile, _set_vdu_profile)

27192 virtual_link_profile = __builtin__.property(_get_virtual_link_profile, _set_virtual_link_profile)

27193 instantiation_level = __builtin__.property(_get_instantiation_level, _set_instantiation_level)

27194 default_instantiation_level = __builtin__.property(_get_default_instantiation_level, _set_default_instantiation_level)

27195 supported_operation = __builtin__.property(_get_supported_operation, _set_supported_operation)

27196 lcm_operations_configuration = __builtin__.property(_get_lcm_operations_configuration, _set_lcm_operations_configuration)

27197 affinity_or_anti_affinity_group = __builtin__.property(_get_affinity_or_anti_affinity_group, _set_affinity_or_anti_affinity_group)

27198 indicator = __builtin__.property(_get_indicator, _set_indicator)

27199 supported_vnf_interfaces = __builtin__.property(_get_supported_vnf_interfaces, _set_supported_vnf_interfaces)

27200 monitoring_parameter = __builtin__.property(_get_monitoring_parameter, _set_monitoring_parameter)

27201 scaling_aspect = __builtin__.property(_get_scaling_aspect, _set_scaling_aspect)

27202 exporters_endpoints = __builtin__.property(_get_exporters_endpoints, _set_exporters_endpoints)

27203 healing_aspect = __builtin__.property(_get_healing_aspect, _set_healing_aspect)

27204 kdu_resource_profile = __builtin__.property(_get_kdu_resource_profile, _set_kdu_resource_profile)

27205

27206

27207 _pyangbind_elements = OrderedDict([('id', id), ('description', description), ('vdu_profile', vdu_profile), ('virtual_link_profile', virtual_link_profile), ('instantiation_level', instantiation_level), ('default_instantiation_level', default_instantiation_level), ('supported_operation', supported_operation), ('lcm_operations_configuration', lcm_operations_configuration), ('affinity_or_anti_affinity_group', affinity_or_anti_affinity_group), ('indicator', indicator), ('supported_vnf_interfaces', supported_vnf_interfaces), ('monitoring_parameter', monitoring_parameter), ('scaling_aspect', scaling_aspect), ('exporters_endpoints', exporters_endpoints), ('healing_aspect', healing_aspect), ('kdu_resource_profile', kdu_resource_profile), ])

27208

27209

27210 class yc_additional_configurable_property_etsi_nfv_vnfd__vnfd_configurable_properties_additional_configurable_property(PybindBase):

27211 """

27212 This class was auto-generated by the PythonClass plugin for PYANG

27213 from YANG module etsi-nfv-vnfd - based on the path /vnfd/configurable-properties/additional-configurable-property. Each member element of

27214 the container is represented as a class variable - with a specific

27215 YANG type.

27216

27217 YANG Description: It provides VNF specific configurable properties that can

27218 be modified using the ModifyVnfConfiguration operation.

27219 """

27220 __slots__ = ('_path_helper', '_extmethods', '__key','__value',)

27221

27222 _yang_name = 'additional-configurable-property'

27223 _yang_namespace = 'urn:etsi:nfv:yang:etsi-nfv-vnfd'

27224

27225 _pybind_generated_by = 'container'

27226

27227 def __init__(self, *args, **kwargs):

27228

27229 self._path_helper = False

27230

27231 self._extmethods = False

27232 self.__key = YANGDynClass(base=str, is_leaf=True, yang_name="key", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, is_keyval=True, namespace='urn:etsi:nfv:yang:etsi-nfv-vnfd', defining_module='etsi-nfv-vnfd', yang_type='string', is_config=True)

27233 self.__value = YANGDynClass(base=str, is_leaf=True, yang_name="value", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='urn:etsi:nfv:yang:etsi-nfv-vnfd', defining_module='etsi-nfv-vnfd', yang_type='string', is_config=True)

27234

27235 load = kwargs.pop("load", None)

27236 if args:

27237 if len(args) > 1:

27238 raise TypeError("cannot create a YANG container with >1 argument")

27239 all_attr = True

27240 for e in self._pyangbind_elements:

27241 if not hasattr(args[0], e):

27242 all_attr = False

27243 break

27244 if not all_attr:

27245 raise ValueError("Supplied object did not have the correct attributes")

27246 for e in self._pyangbind_elements:

27247 nobj = getattr(args[0], e)

27248 if nobj._changed() is False:

27249 continue

27250 setmethod = getattr(self, "_set_%s" % e)

27251 if load is None:

27252 setmethod(getattr(args[0], e))

27253 else:

27254 setmethod(getattr(args[0], e), load=load)

27255

27256 def _path(self):

27257 if hasattr(self, "_parent"):

27258 return self._parent._path()+[self._yang_name]

27259 else:

27260 return ['vnfd', 'configurable-properties', 'additional-configurable-property']

27261

27262 def _get_key(self):

27263 """

27264 Getter method for key, mapped from YANG variable /vnfd/configurable_properties/additional_configurable_property/key (string)

27265 """

27266 return self.__key

27267

27268 def _set_key(self, v, load=False):

27269 """

27270 Setter method for key, mapped from YANG variable /vnfd/configurable_properties/additional_configurable_property/key (string)

27271 If this variable is read-only (config: false) in the

27272 source YANG file, then _set_key is considered as a private

27273 method. Backends looking to populate this variable should

27274 do so via calling thisObj._set_key() directly.

27275 """

27276 parent = getattr(self, "_parent", None)

27277 if parent is not None and load is False:

27278 raise AttributeError("Cannot set keys directly when" +

27279 " within an instantiated list")

27280

27281 if hasattr(v, "_utype"):

27282 v = v._utype(v)

27283 try:

27284 t = YANGDynClass(v,base=str, is_leaf=True, yang_name="key", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, is_keyval=True, namespace='urn:etsi:nfv:yang:etsi-nfv-vnfd', defining_module='etsi-nfv-vnfd', yang_type='string', is_config=True)

27285 except (TypeError, ValueError):

27286 raise ValueError({

27287 'error-string': """key must be of a type compatible with string""",

27288 'defined-type': "string",

27289 'generated-type': """YANGDynClass(base=str, is_leaf=True, yang_name="key", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, is_keyval=True, namespace='urn:etsi:nfv:yang:etsi-nfv-vnfd', defining_module='etsi-nfv-vnfd', yang_type='string', is_config=True)""",

27290 })

27291

27292 self.__key = t

27293 if hasattr(self, '_set'):

27294 self._set()

27295

27296 def _unset_key(self):

27297 self.__key = YANGDynClass(base=str, is_leaf=True, yang_name="key", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, is_keyval=True, namespace='urn:etsi:nfv:yang:etsi-nfv-vnfd', defining_module='etsi-nfv-vnfd', yang_type='string', is_config=True)

27298

27299

27300 def _get_value(self):

27301 """

27302 Getter method for value, mapped from YANG variable /vnfd/configurable_properties/additional_configurable_property/value (string)

27303 """

27304 return self.__value

27305

27306 def _set_value(self, v, load=False):

27307 """

27308 Setter method for value, mapped from YANG variable /vnfd/configurable_properties/additional_configurable_property/value (string)

27309 If this variable is read-only (config: false) in the

27310 source YANG file, then _set_value is considered as a private

27311 method. Backends looking to populate this variable should

27312 do so via calling thisObj._set_value() directly.

27313 """

27314 if hasattr(v, "_utype"):

27315 v = v._utype(v)

27316 try:

27317 t = YANGDynClass(v,base=str, is_leaf=True, yang_name="value", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='urn:etsi:nfv:yang:etsi-nfv-vnfd', defining_module='etsi-nfv-vnfd', yang_type='string', is_config=True)

27318 except (TypeError, ValueError):

27319 raise ValueError({

27320 'error-string': """value must be of a type compatible with string""",

27321 'defined-type': "string",

27322 'generated-type': """YANGDynClass(base=str, is_leaf=True, yang_name="value", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='urn:etsi:nfv:yang:etsi-nfv-vnfd', defining_module='etsi-nfv-vnfd', yang_type='string', is_config=True)""",

27323 })

27324

27325 self.__value = t

27326 if hasattr(self, '_set'):

27327 self._set()

27328

27329 def _unset_value(self):

27330 self.__value = YANGDynClass(base=str, is_leaf=True, yang_name="value", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='urn:etsi:nfv:yang:etsi-nfv-vnfd', defining_module='etsi-nfv-vnfd', yang_type='string', is_config=True)

27331

27332 key = __builtin__.property(_get_key, _set_key)

27333 value = __builtin__.property(_get_value, _set_value)

27334

27335

27336 _pyangbind_elements = OrderedDict([('key', key), ('value', value), ])

27337

27338

27339 class yc_configurable_properties_etsi_nfv_vnfd__vnfd_configurable_properties(PybindBase):

27340 """

27341 This class was auto-generated by the PythonClass plugin for PYANG

27342 from YANG module etsi-nfv-vnfd - based on the path /vnfd/configurable-properties. Each member element of

27343 the container is represented as a class variable - with a specific

27344 YANG type.

27345

27346 YANG Description: Describes the configurable properties of the VNF

27347(e.g. related to auto scaling and auto healing).

27348 """

27349 __slots__ = ('_path_helper', '_extmethods', '__is_auto_scalable_enabled','__is_auto_heal_enabled','__additional_configurable_property',)

27350

27351 _yang_name = 'configurable-properties'

27352 _yang_namespace = 'urn:etsi:nfv:yang:etsi-nfv-vnfd'

27353

27354 _pybind_generated_by = 'container'

27355

27356 def __init__(self, *args, **kwargs):

27357

27358 self._path_helper = False

27359

27360 self._extmethods = False

27361 self.__is_auto_scalable_enabled = YANGDynClass(base=YANGBool, is_leaf=True, yang_name="is-auto-scalable-enabled", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='urn:etsi:nfv:yang:etsi-nfv-vnfd', defining_module='etsi-nfv-vnfd', yang_type='boolean', is_config=True)

27362 self.__is_auto_heal_enabled = YANGDynClass(base=YANGBool, is_leaf=True, yang_name="is-auto-heal-enabled", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='urn:etsi:nfv:yang:etsi-nfv-vnfd', defining_module='etsi-nfv-vnfd', yang_type='boolean', is_config=True)

27363 self.__additional_configurable_property = YANGDynClass(base=YANGListType("key",yc_additional_configurable_property_etsi_nfv_vnfd__vnfd_configurable_properties_additional_configurable_property, yang_name="additional-configurable-property", parent=self, is_container='list', user_ordered=False, path_helper=self._path_helper, yang_keys='key', extensions=None), is_container='list', yang_name="additional-configurable-property", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, extensions=None, namespace='urn:etsi:nfv:yang:etsi-nfv-vnfd', defining_module='etsi-nfv-vnfd', yang_type='list', is_config=True)

27364

27365 load = kwargs.pop("load", None)

27366 if args:

27367 if len(args) > 1:

27368 raise TypeError("cannot create a YANG container with >1 argument")

27369 all_attr = True

27370 for e in self._pyangbind_elements:

27371 if not hasattr(args[0], e):

27372 all_attr = False

27373 break

27374 if not all_attr:

27375 raise ValueError("Supplied object did not have the correct attributes")

27376 for e in self._pyangbind_elements:

27377 nobj = getattr(args[0], e)

27378 if nobj._changed() is False:

27379 continue

27380 setmethod = getattr(self, "_set_%s" % e)

27381 if load is None:

27382 setmethod(getattr(args[0], e))

27383 else:

27384 setmethod(getattr(args[0], e), load=load)

27385

27386 def _path(self):

27387 if hasattr(self, "_parent"):

27388 return self._parent._path()+[self._yang_name]

27389 else:

27390 return ['vnfd', 'configurable-properties']

27391

27392 def _get_is_auto_scalable_enabled(self):

27393 """

27394 Getter method for is_auto_scalable_enabled, mapped from YANG variable /vnfd/configurable_properties/is_auto_scalable_enabled (boolean)

27395

27396 YANG Description: It permits to enable (TRUE) / disable (FALSE) the

27397 auto-scaling functionality.

27398 """

27399 return self.__is_auto_scalable_enabled

27400

27401 def _set_is_auto_scalable_enabled(self, v, load=False):

27402 """

27403 Setter method for is_auto_scalable_enabled, mapped from YANG variable /vnfd/configurable_properties/is_auto_scalable_enabled (boolean)

27404 If this variable is read-only (config: false) in the

27405 source YANG file, then _set_is_auto_scalable_enabled is considered as a private

27406 method. Backends looking to populate this variable should

27407 do so via calling thisObj._set_is_auto_scalable_enabled() directly.

27408

27409 YANG Description: It permits to enable (TRUE) / disable (FALSE) the

27410 auto-scaling functionality.

27411 """

27412 if hasattr(v, "_utype"):

27413 v = v._utype(v)

27414 try:

27415 t = YANGDynClass(v,base=YANGBool, is_leaf=True, yang_name="is-auto-scalable-enabled", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='urn:etsi:nfv:yang:etsi-nfv-vnfd', defining_module='etsi-nfv-vnfd', yang_type='boolean', is_config=True)

27416 except (TypeError, ValueError):

27417 raise ValueError({

27418 'error-string': """is_auto_scalable_enabled must be of a type compatible with boolean""",

27419 'defined-type': "boolean",

27420 'generated-type': """YANGDynClass(base=YANGBool, is_leaf=True, yang_name="is-auto-scalable-enabled", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='urn:etsi:nfv:yang:etsi-nfv-vnfd', defining_module='etsi-nfv-vnfd', yang_type='boolean', is_config=True)""",

27421 })

27422

27423 self.__is_auto_scalable_enabled = t

27424 if hasattr(self, '_set'):

27425 self._set()

27426

27427 def _unset_is_auto_scalable_enabled(self):

27428 self.__is_auto_scalable_enabled = YANGDynClass(base=YANGBool, is_leaf=True, yang_name="is-auto-scalable-enabled", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='urn:etsi:nfv:yang:etsi-nfv-vnfd', defining_module='etsi-nfv-vnfd', yang_type='boolean', is_config=True)

27429

27430

27431 def _get_is_auto_heal_enabled(self):

27432 """

27433 Getter method for is_auto_heal_enabled, mapped from YANG variable /vnfd/configurable_properties/is_auto_heal_enabled (boolean)

27434

27435 YANG Description: It permits to enable (TRUE) / disable (FALSE) the

27436 auto-healing functionality.

27437 """

27438 return self.__is_auto_heal_enabled

27439

27440 def _set_is_auto_heal_enabled(self, v, load=False):

27441 """

27442 Setter method for is_auto_heal_enabled, mapped from YANG variable /vnfd/configurable_properties/is_auto_heal_enabled (boolean)

27443 If this variable is read-only (config: false) in the

27444 source YANG file, then _set_is_auto_heal_enabled is considered as a private

27445 method. Backends looking to populate this variable should

27446 do so via calling thisObj._set_is_auto_heal_enabled() directly.

27447

27448 YANG Description: It permits to enable (TRUE) / disable (FALSE) the

27449 auto-healing functionality.

27450 """

27451 if hasattr(v, "_utype"):

27452 v = v._utype(v)

27453 try:

27454 t = YANGDynClass(v,base=YANGBool, is_leaf=True, yang_name="is-auto-heal-enabled", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='urn:etsi:nfv:yang:etsi-nfv-vnfd', defining_module='etsi-nfv-vnfd', yang_type='boolean', is_config=True)

27455 except (TypeError, ValueError):

27456 raise ValueError({

27457 'error-string': """is_auto_heal_enabled must be of a type compatible with boolean""",

27458 'defined-type': "boolean",

27459 'generated-type': """YANGDynClass(base=YANGBool, is_leaf=True, yang_name="is-auto-heal-enabled", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='urn:etsi:nfv:yang:etsi-nfv-vnfd', defining_module='etsi-nfv-vnfd', yang_type='boolean', is_config=True)""",

27460 })

27461

27462 self.__is_auto_heal_enabled = t

27463 if hasattr(self, '_set'):

27464 self._set()

27465

27466 def _unset_is_auto_heal_enabled(self):

27467 self.__is_auto_heal_enabled = YANGDynClass(base=YANGBool, is_leaf=True, yang_name="is-auto-heal-enabled", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='urn:etsi:nfv:yang:etsi-nfv-vnfd', defining_module='etsi-nfv-vnfd', yang_type='boolean', is_config=True)

27468

27469

27470 def _get_additional_configurable_property(self):

27471 """

27472 Getter method for additional_configurable_property, mapped from YANG variable /vnfd/configurable_properties/additional_configurable_property (list)

27473

27474 YANG Description: It provides VNF specific configurable properties that can

27475 be modified using the ModifyVnfConfiguration operation.

27476 """

27477 return self.__additional_configurable_property

27478

27479 def _set_additional_configurable_property(self, v, load=False):

27480 """

27481 Setter method for additional_configurable_property, mapped from YANG variable /vnfd/configurable_properties/additional_configurable_property (list)

27482 If this variable is read-only (config: false) in the

27483 source YANG file, then _set_additional_configurable_property is considered as a private

27484 method. Backends looking to populate this variable should

27485 do so via calling thisObj._set_additional_configurable_property() directly.

27486

27487 YANG Description: It provides VNF specific configurable properties that can

27488 be modified using the ModifyVnfConfiguration operation.

27489 """

27490 if hasattr(v, "_utype"):

27491 v = v._utype(v)

27492 try:

27493 t = YANGDynClass(v,base=YANGListType("key",yc_additional_configurable_property_etsi_nfv_vnfd__vnfd_configurable_properties_additional_configurable_property, yang_name="additional-configurable-property", parent=self, is_container='list', user_ordered=False, path_helper=self._path_helper, yang_keys='key', extensions=None), is_container='list', yang_name="additional-configurable-property", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, extensions=None, namespace='urn:etsi:nfv:yang:etsi-nfv-vnfd', defining_module='etsi-nfv-vnfd', yang_type='list', is_config=True)

27494 except (TypeError, ValueError):

27495 raise ValueError({

27496 'error-string': """additional_configurable_property must be of a type compatible with list""",

27497 'defined-type': "list",

27498 'generated-type': """YANGDynClass(base=YANGListType("key",yc_additional_configurable_property_etsi_nfv_vnfd__vnfd_configurable_properties_additional_configurable_property, yang_name="additional-configurable-property", parent=self, is_container='list', user_ordered=False, path_helper=self._path_helper, yang_keys='key', extensions=None), is_container='list', yang_name="additional-configurable-property", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, extensions=None, namespace='urn:etsi:nfv:yang:etsi-nfv-vnfd', defining_module='etsi-nfv-vnfd', yang_type='list', is_config=True)""",

27499 })

27500

27501 self.__additional_configurable_property = t

27502 if hasattr(self, '_set'):

27503 self._set()

27504

27505 def _unset_additional_configurable_property(self):

27506 self.__additional_configurable_property = YANGDynClass(base=YANGListType("key",yc_additional_configurable_property_etsi_nfv_vnfd__vnfd_configurable_properties_additional_configurable_property, yang_name="additional-configurable-property", parent=self, is_container='list', user_ordered=False, path_helper=self._path_helper, yang_keys='key', extensions=None), is_container='list', yang_name="additional-configurable-property", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, extensions=None, namespace='urn:etsi:nfv:yang:etsi-nfv-vnfd', defining_module='etsi-nfv-vnfd', yang_type='list', is_config=True)

27507

27508 is_auto_scalable_enabled = __builtin__.property(_get_is_auto_scalable_enabled, _set_is_auto_scalable_enabled)

27509 is_auto_heal_enabled = __builtin__.property(_get_is_auto_heal_enabled, _set_is_auto_heal_enabled)

27510 additional_configurable_property = __builtin__.property(_get_additional_configurable_property, _set_additional_configurable_property)

27511

27512

27513 _pyangbind_elements = OrderedDict([('is_auto_scalable_enabled', is_auto_scalable_enabled), ('is_auto_heal_enabled', is_auto_heal_enabled), ('additional_configurable_property', additional_configurable_property), ])

27514

27515

27516 class yc_modifiable_attributes_etsi_nfv_vnfd__vnfd_modifiable_attributes(PybindBase):

27517 """

27518 This class was auto-generated by the PythonClass plugin for PYANG

27519 from YANG module etsi-nfv-vnfd - based on the path /vnfd/modifiable-attributes. Each member element of

27520 the container is represented as a class variable - with a specific

27521 YANG type.

27522

27523 YANG Description: Describes the modifiable attributes of the VNF.

27524 """

27525 __slots__ = ('_path_helper', '_extmethods', '__extension','__metadata',)

27526

27527 _yang_name = 'modifiable-attributes'

27528 _yang_namespace = 'urn:etsi:nfv:yang:etsi-nfv-vnfd'

27529

27530 _pybind_generated_by = 'container'

27531

27532 def __init__(self, *args, **kwargs):

27533

27534 self._path_helper = False

27535

27536 self._extmethods = False

27537 self.__extension = YANGDynClass(unique=True, base=TypedListType(allowed_type=str), is_leaf=False, yang_name="extension", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='urn:etsi:nfv:yang:etsi-nfv-vnfd', defining_module='etsi-nfv-vnfd', yang_type='string', is_config=True)

27538 self.__metadata = YANGDynClass(unique=True, base=TypedListType(allowed_type=str), is_leaf=False, yang_name="metadata", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='urn:etsi:nfv:yang:etsi-nfv-vnfd', defining_module='etsi-nfv-vnfd', yang_type='string', is_config=True)

27539

27540 load = kwargs.pop("load", None)

27541 if args:

27542 if len(args) > 1:

27543 raise TypeError("cannot create a YANG container with >1 argument")

27544 all_attr = True

27545 for e in self._pyangbind_elements:

27546 if not hasattr(args[0], e):

27547 all_attr = False

27548 break

27549 if not all_attr:

27550 raise ValueError("Supplied object did not have the correct attributes")

27551 for e in self._pyangbind_elements:

27552 nobj = getattr(args[0], e)

27553 if nobj._changed() is False:

27554 continue

27555 setmethod = getattr(self, "_set_%s" % e)

27556 if load is None:

27557 setmethod(getattr(args[0], e))

27558 else:

27559 setmethod(getattr(args[0], e), load=load)

27560

27561 def _path(self):

27562 if hasattr(self, "_parent"):

27563 return self._parent._path()+[self._yang_name]

27564 else:

27565 return ['vnfd', 'modifiable-attributes']

27566

27567 def _get_extension(self):

27568 """

27569 Getter method for extension, mapped from YANG variable /vnfd/modifiable_attributes/extension (string)

27570

27571 YANG Description: Additional VNF-specific attributes of VnfInfo that

27572 affect the lifecycle management of a VNF instance and

27573 that are writeable.

27574

27575 For each VNF instance, these attributes are stored

27576 persistently by the VNFM and can be queried and

27577 modified through the VNFM.

27578

27579 These attributes are intended to be consumed by the

27580 VNFM or by the lifecycle management scripts during the

27581 execution of VNF lifecycle management operations.

27582

27583 Modifying these values has no direct effect on the VNF

27584 instance; however, modified values can be considered

27585 during subsequent VNF lifecycle management operations,

27586 which means that the modified values can indirectly

27587 affect the configuration of the VNF instance.

27588 """

27589 return self.__extension

27590

27591 def _set_extension(self, v, load=False):

27592 """

27593 Setter method for extension, mapped from YANG variable /vnfd/modifiable_attributes/extension (string)

27594 If this variable is read-only (config: false) in the

27595 source YANG file, then _set_extension is considered as a private

27596 method. Backends looking to populate this variable should

27597 do so via calling thisObj._set_extension() directly.

27598

27599 YANG Description: Additional VNF-specific attributes of VnfInfo that

27600 affect the lifecycle management of a VNF instance and

27601 that are writeable.

27602

27603 For each VNF instance, these attributes are stored

27604 persistently by the VNFM and can be queried and

27605 modified through the VNFM.

27606

27607 These attributes are intended to be consumed by the

27608 VNFM or by the lifecycle management scripts during the

27609 execution of VNF lifecycle management operations.

27610

27611 Modifying these values has no direct effect on the VNF

27612 instance; however, modified values can be considered

27613 during subsequent VNF lifecycle management operations,

27614 which means that the modified values can indirectly

27615 affect the configuration of the VNF instance.

27616 """

27617 if hasattr(v, "_utype"):

27618 v = v._utype(v)

27619 try:

27620 t = YANGDynClass(v,unique=True, base=TypedListType(allowed_type=str), is_leaf=False, yang_name="extension", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='urn:etsi:nfv:yang:etsi-nfv-vnfd', defining_module='etsi-nfv-vnfd', yang_type='string', is_config=True)

27621 except (TypeError, ValueError):

27622 raise ValueError({

27623 'error-string': """extension must be of a type compatible with string""",

27624 'defined-type': "string",

27625 'generated-type': """YANGDynClass(unique=True, base=TypedListType(allowed_type=str), is_leaf=False, yang_name="extension", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='urn:etsi:nfv:yang:etsi-nfv-vnfd', defining_module='etsi-nfv-vnfd', yang_type='string', is_config=True)""",

27626 })

27627

27628 self.__extension = t

27629 if hasattr(self, '_set'):

27630 self._set()

27631

27632 def _unset_extension(self):

27633 self.__extension = YANGDynClass(unique=True, base=TypedListType(allowed_type=str), is_leaf=False, yang_name="extension", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='urn:etsi:nfv:yang:etsi-nfv-vnfd', defining_module='etsi-nfv-vnfd', yang_type='string', is_config=True)

27634

27635

27636 def _get_metadata(self):

27637 """

27638 Getter method for metadata, mapped from YANG variable /vnfd/modifiable_attributes/metadata (string)

27639

27640 YANG Description: Additional VNF-specific attributes of VnfInfo that are

27641 writeable and that provide metadata describing the VNF

27642 instance.

27643

27644 For each VNF instance, these attributes are stored

27645 persistently by the VNFM and can be queried and modified

27646 through the VNFM.

27647

27648 These attributes are intended to provide information to

27649 functional blocks external to the VNFM and will not be

27650 used by the VNFM or the VNF lifecycle management

27651 scripts when executing lifecycle management operations.

27652

27653 Modifying these attributes has no effect on the VNF

27654 instance. It only affects the attribute values stored by

27655 the VNFM.

27656 """

27657 return self.__metadata

27658

27659 def _set_metadata(self, v, load=False):

27660 """

27661 Setter method for metadata, mapped from YANG variable /vnfd/modifiable_attributes/metadata (string)

27662 If this variable is read-only (config: false) in the

27663 source YANG file, then _set_metadata is considered as a private

27664 method. Backends looking to populate this variable should

27665 do so via calling thisObj._set_metadata() directly.

27666

27667 YANG Description: Additional VNF-specific attributes of VnfInfo that are

27668 writeable and that provide metadata describing the VNF

27669 instance.

27670

27671 For each VNF instance, these attributes are stored

27672 persistently by the VNFM and can be queried and modified

27673 through the VNFM.

27674

27675 These attributes are intended to provide information to

27676 functional blocks external to the VNFM and will not be

27677 used by the VNFM or the VNF lifecycle management

27678 scripts when executing lifecycle management operations.

27679

27680 Modifying these attributes has no effect on the VNF

27681 instance. It only affects the attribute values stored by

27682 the VNFM.

27683 """

27684 if hasattr(v, "_utype"):

27685 v = v._utype(v)

27686 try:

27687 t = YANGDynClass(v,unique=True, base=TypedListType(allowed_type=str), is_leaf=False, yang_name="metadata", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='urn:etsi:nfv:yang:etsi-nfv-vnfd', defining_module='etsi-nfv-vnfd', yang_type='string', is_config=True)

27688 except (TypeError, ValueError):

27689 raise ValueError({

27690 'error-string': """metadata must be of a type compatible with string""",

27691 'defined-type': "string",

27692 'generated-type': """YANGDynClass(unique=True, base=TypedListType(allowed_type=str), is_leaf=False, yang_name="metadata", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='urn:etsi:nfv:yang:etsi-nfv-vnfd', defining_module='etsi-nfv-vnfd', yang_type='string', is_config=True)""",

27693 })

27694

27695 self.__metadata = t

27696 if hasattr(self, '_set'):

27697 self._set()

27698

27699 def _unset_metadata(self):

27700 self.__metadata = YANGDynClass(unique=True, base=TypedListType(allowed_type=str), is_leaf=False, yang_name="metadata", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='urn:etsi:nfv:yang:etsi-nfv-vnfd', defining_module='etsi-nfv-vnfd', yang_type='string', is_config=True)

27701

27702 extension = __builtin__.property(_get_extension, _set_extension)

27703 metadata = __builtin__.property(_get_metadata, _set_metadata)

27704

27705

27706 _pyangbind_elements = OrderedDict([('extension', extension), ('metadata', metadata), ])

27707

27708

27709 class yc_script_input_etsi_nfv_vnfd__vnfd_lifecycle_management_script_script_input(PybindBase):

27710 """

27711 This class was auto-generated by the PythonClass plugin for PYANG

27712 from YANG module etsi-nfv-vnfd - based on the path /vnfd/lifecycle-management-script/script-input. Each member element of

27713 the container is represented as a class variable - with a specific

27714 YANG type.

27715

27716 YANG Description: Array of KVP requirements with the key as the parameter

27717 name and the value as the parameter that need to be

27718 passed as an input to the script.

27719 """

27720 __slots__ = ('_path_helper', '_extmethods', '__key','__value',)

27721

27722 _yang_name = 'script-input'

27723 _yang_namespace = 'urn:etsi:nfv:yang:etsi-nfv-vnfd'

27724

27725 _pybind_generated_by = 'container'

27726

27727 def __init__(self, *args, **kwargs):

27728

27729 self._path_helper = False

27730

27731 self._extmethods = False

27732 self.__key = YANGDynClass(base=str, is_leaf=True, yang_name="key", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, is_keyval=True, namespace='urn:etsi:nfv:yang:etsi-nfv-vnfd', defining_module='etsi-nfv-vnfd', yang_type='string', is_config=True)

27733 self.__value = YANGDynClass(base=str, is_leaf=True, yang_name="value", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='urn:etsi:nfv:yang:etsi-nfv-vnfd', defining_module='etsi-nfv-vnfd', yang_type='string', is_config=True)

27734

27735 load = kwargs.pop("load", None)

27736 if args:

27737 if len(args) > 1:

27738 raise TypeError("cannot create a YANG container with >1 argument")

27739 all_attr = True

27740 for e in self._pyangbind_elements:

27741 if not hasattr(args[0], e):

27742 all_attr = False

27743 break

27744 if not all_attr:

27745 raise ValueError("Supplied object did not have the correct attributes")

27746 for e in self._pyangbind_elements:

27747 nobj = getattr(args[0], e)

27748 if nobj._changed() is False:

27749 continue

27750 setmethod = getattr(self, "_set_%s" % e)

27751 if load is None:

27752 setmethod(getattr(args[0], e))

27753 else:

27754 setmethod(getattr(args[0], e), load=load)

27755

27756 def _path(self):

27757 if hasattr(self, "_parent"):

27758 return self._parent._path()+[self._yang_name]

27759 else:

27760 return ['vnfd', 'lifecycle-management-script', 'script-input']

27761

27762 def _get_key(self):

27763 """

27764 Getter method for key, mapped from YANG variable /vnfd/lifecycle_management_script/script_input/key (string)

27765

27766 YANG Description: Includes a VNF LCM script (e.g. written in a DSL as

27767 specified in requirement VNF_PACK.LCM.001) triggered to

27768 react to one of the events listed in the event

27769 attribute.

27770

27771 The string value specified here is a path to a file in

27772 the VNF package.

27773 """

27774 return self.__key

27775

27776 def _set_key(self, v, load=False):

27777 """

27778 Setter method for key, mapped from YANG variable /vnfd/lifecycle_management_script/script_input/key (string)

27779 If this variable is read-only (config: false) in the

27780 source YANG file, then _set_key is considered as a private

27781 method. Backends looking to populate this variable should

27782 do so via calling thisObj._set_key() directly.

27783

27784 YANG Description: Includes a VNF LCM script (e.g. written in a DSL as

27785 specified in requirement VNF_PACK.LCM.001) triggered to

27786 react to one of the events listed in the event

27787 attribute.

27788

27789 The string value specified here is a path to a file in

27790 the VNF package.

27791 """

27792 parent = getattr(self, "_parent", None)

27793 if parent is not None and load is False:

27794 raise AttributeError("Cannot set keys directly when" +

27795 " within an instantiated list")

27796

27797 if hasattr(v, "_utype"):

27798 v = v._utype(v)

27799 try:

27800 t = YANGDynClass(v,base=str, is_leaf=True, yang_name="key", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, is_keyval=True, namespace='urn:etsi:nfv:yang:etsi-nfv-vnfd', defining_module='etsi-nfv-vnfd', yang_type='string', is_config=True)

27801 except (TypeError, ValueError):

27802 raise ValueError({

27803 'error-string': """key must be of a type compatible with string""",

27804 'defined-type': "string",

27805 'generated-type': """YANGDynClass(base=str, is_leaf=True, yang_name="key", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, is_keyval=True, namespace='urn:etsi:nfv:yang:etsi-nfv-vnfd', defining_module='etsi-nfv-vnfd', yang_type='string', is_config=True)""",

27806 })

27807

27808 self.__key = t

27809 if hasattr(self, '_set'):

27810 self._set()

27811

27812 def _unset_key(self):

27813 self.__key = YANGDynClass(base=str, is_leaf=True, yang_name="key", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, is_keyval=True, namespace='urn:etsi:nfv:yang:etsi-nfv-vnfd', defining_module='etsi-nfv-vnfd', yang_type='string', is_config=True)

27814

27815

27816 def _get_value(self):

27817 """

27818 Getter method for value, mapped from YANG variable /vnfd/lifecycle_management_script/script_input/value (string)

27819 """

27820 return self.__value

27821

27822 def _set_value(self, v, load=False):

27823 """

27824 Setter method for value, mapped from YANG variable /vnfd/lifecycle_management_script/script_input/value (string)

27825 If this variable is read-only (config: false) in the

27826 source YANG file, then _set_value is considered as a private

27827 method. Backends looking to populate this variable should

27828 do so via calling thisObj._set_value() directly.

27829 """

27830 if hasattr(v, "_utype"):

27831 v = v._utype(v)

27832 try:

27833 t = YANGDynClass(v,base=str, is_leaf=True, yang_name="value", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='urn:etsi:nfv:yang:etsi-nfv-vnfd', defining_module='etsi-nfv-vnfd', yang_type='string', is_config=True)

27834 except (TypeError, ValueError):

27835 raise ValueError({

27836 'error-string': """value must be of a type compatible with string""",

27837 'defined-type': "string",

27838 'generated-type': """YANGDynClass(base=str, is_leaf=True, yang_name="value", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='urn:etsi:nfv:yang:etsi-nfv-vnfd', defining_module='etsi-nfv-vnfd', yang_type='string', is_config=True)""",

27839 })

27840

27841 self.__value = t

27842 if hasattr(self, '_set'):

27843 self._set()

27844

27845 def _unset_value(self):

27846 self.__value = YANGDynClass(base=str, is_leaf=True, yang_name="value", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='urn:etsi:nfv:yang:etsi-nfv-vnfd', defining_module='etsi-nfv-vnfd', yang_type='string', is_config=True)

27847

27848 key = __builtin__.property(_get_key, _set_key)

27849 value = __builtin__.property(_get_value, _set_value)

27850

27851

27852 _pyangbind_elements = OrderedDict([('key', key), ('value', value), ])

27853

27854

27855 class yc_lifecycle_management_script_etsi_nfv_vnfd__vnfd_lifecycle_management_script(PybindBase):

27856 """

27857 This class was auto-generated by the PythonClass plugin for PYANG

27858 from YANG module etsi-nfv-vnfd - based on the path /vnfd/lifecycle-management-script. Each member element of

27859 the container is represented as a class variable - with a specific

27860 YANG type.

27861

27862 YANG Description: Includes a list of events and corresponding management

27863 scripts performed for the VNF.

27864 """

27865 __slots__ = ('_path_helper', '_extmethods', '__id','__event','__lcm_transition_event','__script','__script_dsl','__script_input',)

27866

27867 _yang_name = 'lifecycle-management-script'

27868 _yang_namespace = 'urn:etsi:nfv:yang:etsi-nfv-vnfd'

27869

27870 _pybind_generated_by = 'container'

27871

27872 def __init__(self, *args, **kwargs):

27873

27874 self._path_helper = False

27875

27876 self._extmethods = False

27877 self.__id = YANGDynClass(base=str, is_leaf=True, yang_name="id", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, is_keyval=True, namespace='urn:etsi:nfv:yang:etsi-nfv-vnfd', defining_module='etsi-nfv-vnfd', yang_type='string', is_config=True)

27878 self.__event = YANGDynClass(unique=True, base=TypedListType(allowed_type=RestrictedClassType(base_type=str, restriction_type="dict_key", restriction_arg={'start-instantiation': {}, 'end-instantiation': {}, 'start-scaling': {}, 'end-scaling': {}, 'start-healing': {}, 'end-healing': {}, 'start-termination': {}, 'end-termination': {}, 'start-vnf-flavour-change': {}, 'end-vnf-flavour-change': {}, 'start-vnf-operation-change': {}, 'end-vnf-operation-change': {}, 'start-vnf-ext-conn-change': {}, 'end-vnf-ext-conn-change': {}, 'start-vnfinfo-modification': {}, 'end-vnfinfo-modification': {}},)), is_leaf=False, yang_name="event", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='urn:etsi:nfv:yang:etsi-nfv-vnfd', defining_module='etsi-nfv-vnfd', yang_type='internal-lifecycle-management-script-event', is_config=True)

27879 self.__lcm_transition_event = YANGDynClass(unique=True, base=TypedListType(allowed_type=str), is_leaf=False, yang_name="lcm-transition-event", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='urn:etsi:nfv:yang:etsi-nfv-vnfd', defining_module='etsi-nfv-vnfd', yang_type='string', is_config=True)

27880 self.__script = YANGDynClass(base=str, is_leaf=True, yang_name="script", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='urn:etsi:nfv:yang:etsi-nfv-vnfd', defining_module='etsi-nfv-vnfd', yang_type='string', is_config=True)

27881 self.__script_dsl = YANGDynClass(base=str, is_leaf=True, yang_name="script-dsl", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='urn:etsi:nfv:yang:etsi-nfv-vnfd', defining_module='etsi-nfv-vnfd', yang_type='string', is_config=True)

27882 self.__script_input = YANGDynClass(base=YANGListType("key",yc_script_input_etsi_nfv_vnfd__vnfd_lifecycle_management_script_script_input, yang_name="script-input", parent=self, is_container='list', user_ordered=False, path_helper=self._path_helper, yang_keys='key', extensions=None), is_container='list', yang_name="script-input", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, extensions=None, namespace='urn:etsi:nfv:yang:etsi-nfv-vnfd', defining_module='etsi-nfv-vnfd', yang_type='list', is_config=True)

27883

27884 load = kwargs.pop("load", None)

27885 if args:

27886 if len(args) > 1:

27887 raise TypeError("cannot create a YANG container with >1 argument")

27888 all_attr = True

27889 for e in self._pyangbind_elements:

27890 if not hasattr(args[0], e):

27891 all_attr = False

27892 break

27893 if not all_attr:

27894 raise ValueError("Supplied object did not have the correct attributes")

27895 for e in self._pyangbind_elements:

27896 nobj = getattr(args[0], e)

27897 if nobj._changed() is False:

27898 continue

27899 setmethod = getattr(self, "_set_%s" % e)

27900 if load is None:

27901 setmethod(getattr(args[0], e))

27902 else:

27903 setmethod(getattr(args[0], e), load=load)

27904

27905 def _path(self):

27906 if hasattr(self, "_parent"):

27907 return self._parent._path()+[self._yang_name]

27908 else:

27909 return ['vnfd', 'lifecycle-management-script']

27910

27911 def _get_id(self):

27912 """

27913 Getter method for id, mapped from YANG variable /vnfd/lifecycle_management_script/id (string)

27914

27915 YANG Description: A unique string that identfies the script in question.

27916 """

27917 return self.__id

27918

27919 def _set_id(self, v, load=False):

27920 """

27921 Setter method for id, mapped from YANG variable /vnfd/lifecycle_management_script/id (string)

27922 If this variable is read-only (config: false) in the

27923 source YANG file, then _set_id is considered as a private

27924 method. Backends looking to populate this variable should

27925 do so via calling thisObj._set_id() directly.

27926

27927 YANG Description: A unique string that identfies the script in question.

27928 """

27929 parent = getattr(self, "_parent", None)

27930 if parent is not None and load is False:

27931 raise AttributeError("Cannot set keys directly when" +

27932 " within an instantiated list")

27933

27934 if hasattr(v, "_utype"):

27935 v = v._utype(v)

27936 try:

27937 t = YANGDynClass(v,base=str, is_leaf=True, yang_name="id", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, is_keyval=True, namespace='urn:etsi:nfv:yang:etsi-nfv-vnfd', defining_module='etsi-nfv-vnfd', yang_type='string', is_config=True)

27938 except (TypeError, ValueError):

27939 raise ValueError({

27940 'error-string': """id must be of a type compatible with string""",

27941 'defined-type': "string",

27942 'generated-type': """YANGDynClass(base=str, is_leaf=True, yang_name="id", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, is_keyval=True, namespace='urn:etsi:nfv:yang:etsi-nfv-vnfd', defining_module='etsi-nfv-vnfd', yang_type='string', is_config=True)""",

27943 })

27944

27945 self.__id = t

27946 if hasattr(self, '_set'):

27947 self._set()

27948

27949 def _unset_id(self):

27950 self.__id = YANGDynClass(base=str, is_leaf=True, yang_name="id", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, is_keyval=True, namespace='urn:etsi:nfv:yang:etsi-nfv-vnfd', defining_module='etsi-nfv-vnfd', yang_type='string', is_config=True)

27951

27952

27953 def _get_event(self):

27954 """

27955 Getter method for event, mapped from YANG variable /vnfd/lifecycle_management_script/event (internal-lifecycle-management-script-event)

27956

27957 YANG Description: Describes VNF lifecycle event(s) or an external stimulus

27958 detected on a VNFM reference point.

27959 """

27960 return self.__event

27961

27962 def _set_event(self, v, load=False):

27963 """

27964 Setter method for event, mapped from YANG variable /vnfd/lifecycle_management_script/event (internal-lifecycle-management-script-event)

27965 If this variable is read-only (config: false) in the

27966 source YANG file, then _set_event is considered as a private

27967 method. Backends looking to populate this variable should

27968 do so via calling thisObj._set_event() directly.

27969

27970 YANG Description: Describes VNF lifecycle event(s) or an external stimulus

27971 detected on a VNFM reference point.

27972 """

27973 if hasattr(v, "_utype"):

27974 v = v._utype(v)

27975 try:

27976 t = YANGDynClass(v,unique=True, base=TypedListType(allowed_type=RestrictedClassType(base_type=str, restriction_type="dict_key", restriction_arg={'start-instantiation': {}, 'end-instantiation': {}, 'start-scaling': {}, 'end-scaling': {}, 'start-healing': {}, 'end-healing': {}, 'start-termination': {}, 'end-termination': {}, 'start-vnf-flavour-change': {}, 'end-vnf-flavour-change': {}, 'start-vnf-operation-change': {}, 'end-vnf-operation-change': {}, 'start-vnf-ext-conn-change': {}, 'end-vnf-ext-conn-change': {}, 'start-vnfinfo-modification': {}, 'end-vnfinfo-modification': {}},)), is_leaf=False, yang_name="event", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='urn:etsi:nfv:yang:etsi-nfv-vnfd', defining_module='etsi-nfv-vnfd', yang_type='internal-lifecycle-management-script-event', is_config=True)

27977 except (TypeError, ValueError):

27978 raise ValueError({

27979 'error-string': """event must be of a type compatible with internal-lifecycle-management-script-event""",

27980 'defined-type': "etsi-nfv-vnfd:internal-lifecycle-management-script-event",

27981 'generated-type': """YANGDynClass(unique=True, base=TypedListType(allowed_type=RestrictedClassType(base_type=str, restriction_type="dict_key", restriction_arg={'start-instantiation': {}, 'end-instantiation': {}, 'start-scaling': {}, 'end-scaling': {}, 'start-healing': {}, 'end-healing': {}, 'start-termination': {}, 'end-termination': {}, 'start-vnf-flavour-change': {}, 'end-vnf-flavour-change': {}, 'start-vnf-operation-change': {}, 'end-vnf-operation-change': {}, 'start-vnf-ext-conn-change': {}, 'end-vnf-ext-conn-change': {}, 'start-vnfinfo-modification': {}, 'end-vnfinfo-modification': {}},)), is_leaf=False, yang_name="event", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='urn:etsi:nfv:yang:etsi-nfv-vnfd', defining_module='etsi-nfv-vnfd', yang_type='internal-lifecycle-management-script-event', is_config=True)""",

27982 })

27983

27984 self.__event = t

27985 if hasattr(self, '_set'):

27986 self._set()

27987

27988 def _unset_event(self):

27989 self.__event = YANGDynClass(unique=True, base=TypedListType(allowed_type=RestrictedClassType(base_type=str, restriction_type="dict_key", restriction_arg={'start-instantiation': {}, 'end-instantiation': {}, 'start-scaling': {}, 'end-scaling': {}, 'start-healing': {}, 'end-healing': {}, 'start-termination': {}, 'end-termination': {}, 'start-vnf-flavour-change': {}, 'end-vnf-flavour-change': {}, 'start-vnf-operation-change': {}, 'end-vnf-operation-change': {}, 'start-vnf-ext-conn-change': {}, 'end-vnf-ext-conn-change': {}, 'start-vnfinfo-modification': {}, 'end-vnfinfo-modification': {}},)), is_leaf=False, yang_name="event", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='urn:etsi:nfv:yang:etsi-nfv-vnfd', defining_module='etsi-nfv-vnfd', yang_type='internal-lifecycle-management-script-event', is_config=True)

27990

27991

27992 def _get_lcm_transition_event(self):

27993 """

27994 Getter method for lcm_transition_event, mapped from YANG variable /vnfd/lifecycle_management_script/lcm_transition_event (string)

27995

27996 YANG Description: Describes the transition VNF lifecycle event(s) that

27997 cannot be mapped to any of the enumerated values

27998 defined for the event attribute.

27999 """

28000 return self.__lcm_transition_event

28001

28002 def _set_lcm_transition_event(self, v, load=False):

28003 """

28004 Setter method for lcm_transition_event, mapped from YANG variable /vnfd/lifecycle_management_script/lcm_transition_event (string)

28005 If this variable is read-only (config: false) in the

28006 source YANG file, then _set_lcm_transition_event is considered as a private

28007 method. Backends looking to populate this variable should

28008 do so via calling thisObj._set_lcm_transition_event() directly.

28009

28010 YANG Description: Describes the transition VNF lifecycle event(s) that

28011 cannot be mapped to any of the enumerated values

28012 defined for the event attribute.

28013 """

28014 if hasattr(v, "_utype"):

28015 v = v._utype(v)

28016 try:

28017 t = YANGDynClass(v,unique=True, base=TypedListType(allowed_type=str), is_leaf=False, yang_name="lcm-transition-event", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='urn:etsi:nfv:yang:etsi-nfv-vnfd', defining_module='etsi-nfv-vnfd', yang_type='string', is_config=True)

28018 except (TypeError, ValueError):

28019 raise ValueError({

28020 'error-string': """lcm_transition_event must be of a type compatible with string""",

28021 'defined-type': "string",

28022 'generated-type': """YANGDynClass(unique=True, base=TypedListType(allowed_type=str), is_leaf=False, yang_name="lcm-transition-event", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='urn:etsi:nfv:yang:etsi-nfv-vnfd', defining_module='etsi-nfv-vnfd', yang_type='string', is_config=True)""",

28023 })

28024

28025 self.__lcm_transition_event = t

28026 if hasattr(self, '_set'):

28027 self._set()

28028

28029 def _unset_lcm_transition_event(self):

28030 self.__lcm_transition_event = YANGDynClass(unique=True, base=TypedListType(allowed_type=str), is_leaf=False, yang_name="lcm-transition-event", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='urn:etsi:nfv:yang:etsi-nfv-vnfd', defining_module='etsi-nfv-vnfd', yang_type='string', is_config=True)

28031

28032

28033 def _get_script(self):

28034 """

28035 Getter method for script, mapped from YANG variable /vnfd/lifecycle_management_script/script (string)

28036

28037 YANG Description: Includes a VNF LCM script (e.g. written in a DSL as

28038 specified in requirement VNF_PACK.LCM.001) triggered to

28039 react to one of the events listed in the event

28040 attribute.

28041 """

28042 return self.__script

28043

28044 def _set_script(self, v, load=False):

28045 """

28046 Setter method for script, mapped from YANG variable /vnfd/lifecycle_management_script/script (string)

28047 If this variable is read-only (config: false) in the

28048 source YANG file, then _set_script is considered as a private

28049 method. Backends looking to populate this variable should

28050 do so via calling thisObj._set_script() directly.

28051

28052 YANG Description: Includes a VNF LCM script (e.g. written in a DSL as

28053 specified in requirement VNF_PACK.LCM.001) triggered to

28054 react to one of the events listed in the event

28055 attribute.

28056 """

28057 if hasattr(v, "_utype"):

28058 v = v._utype(v)

28059 try:

28060 t = YANGDynClass(v,base=str, is_leaf=True, yang_name="script", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='urn:etsi:nfv:yang:etsi-nfv-vnfd', defining_module='etsi-nfv-vnfd', yang_type='string', is_config=True)

28061 except (TypeError, ValueError):

28062 raise ValueError({

28063 'error-string': """script must be of a type compatible with string""",

28064 'defined-type': "string",

28065 'generated-type': """YANGDynClass(base=str, is_leaf=True, yang_name="script", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='urn:etsi:nfv:yang:etsi-nfv-vnfd', defining_module='etsi-nfv-vnfd', yang_type='string', is_config=True)""",

28066 })

28067

28068 self.__script = t

28069 if hasattr(self, '_set'):

28070 self._set()

28071

28072 def _unset_script(self):

28073 self.__script = YANGDynClass(base=str, is_leaf=True, yang_name="script", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='urn:etsi:nfv:yang:etsi-nfv-vnfd', defining_module='etsi-nfv-vnfd', yang_type='string', is_config=True)

28074

28075

28076 def _get_script_dsl(self):

28077 """

28078 Getter method for script_dsl, mapped from YANG variable /vnfd/lifecycle_management_script/script_dsl (string)

28079

28080 YANG Description: Defines the domain specific language (i.e. the type) of

28081 script that is provided. Types of scripts could include

28082 bash, python, etc.

28083 """

28084 return self.__script_dsl

28085

28086 def _set_script_dsl(self, v, load=False):

28087 """

28088 Setter method for script_dsl, mapped from YANG variable /vnfd/lifecycle_management_script/script_dsl (string)

28089 If this variable is read-only (config: false) in the

28090 source YANG file, then _set_script_dsl is considered as a private

28091 method. Backends looking to populate this variable should

28092 do so via calling thisObj._set_script_dsl() directly.

28093

28094 YANG Description: Defines the domain specific language (i.e. the type) of

28095 script that is provided. Types of scripts could include

28096 bash, python, etc.

28097 """

28098 if hasattr(v, "_utype"):

28099 v = v._utype(v)

28100 try:

28101 t = YANGDynClass(v,base=str, is_leaf=True, yang_name="script-dsl", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='urn:etsi:nfv:yang:etsi-nfv-vnfd', defining_module='etsi-nfv-vnfd', yang_type='string', is_config=True)

28102 except (TypeError, ValueError):

28103 raise ValueError({

28104 'error-string': """script_dsl must be of a type compatible with string""",

28105 'defined-type': "string",

28106 'generated-type': """YANGDynClass(base=str, is_leaf=True, yang_name="script-dsl", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='urn:etsi:nfv:yang:etsi-nfv-vnfd', defining_module='etsi-nfv-vnfd', yang_type='string', is_config=True)""",

28107 })

28108

28109 self.__script_dsl = t

28110 if hasattr(self, '_set'):

28111 self._set()

28112

28113 def _unset_script_dsl(self):

28114 self.__script_dsl = YANGDynClass(base=str, is_leaf=True, yang_name="script-dsl", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='urn:etsi:nfv:yang:etsi-nfv-vnfd', defining_module='etsi-nfv-vnfd', yang_type='string', is_config=True)

28115

28116

28117 def _get_script_input(self):

28118 """

28119 Getter method for script_input, mapped from YANG variable /vnfd/lifecycle_management_script/script_input (list)

28120

28121 YANG Description: Array of KVP requirements with the key as the parameter

28122 name and the value as the parameter that need to be

28123 passed as an input to the script.

28124 """

28125 return self.__script_input

28126

28127 def _set_script_input(self, v, load=False):

28128 """

28129 Setter method for script_input, mapped from YANG variable /vnfd/lifecycle_management_script/script_input (list)

28130 If this variable is read-only (config: false) in the

28131 source YANG file, then _set_script_input is considered as a private

28132 method. Backends looking to populate this variable should

28133 do so via calling thisObj._set_script_input() directly.

28134

28135 YANG Description: Array of KVP requirements with the key as the parameter

28136 name and the value as the parameter that need to be

28137 passed as an input to the script.

28138 """

28139 if hasattr(v, "_utype"):

28140 v = v._utype(v)

28141 try:

28142 t = YANGDynClass(v,base=YANGListType("key",yc_script_input_etsi_nfv_vnfd__vnfd_lifecycle_management_script_script_input, yang_name="script-input", parent=self, is_container='list', user_ordered=False, path_helper=self._path_helper, yang_keys='key', extensions=None), is_container='list', yang_name="script-input", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, extensions=None, namespace='urn:etsi:nfv:yang:etsi-nfv-vnfd', defining_module='etsi-nfv-vnfd', yang_type='list', is_config=True)

28143 except (TypeError, ValueError):

28144 raise ValueError({

28145 'error-string': """script_input must be of a type compatible with list""",

28146 'defined-type': "list",

28147 'generated-type': """YANGDynClass(base=YANGListType("key",yc_script_input_etsi_nfv_vnfd__vnfd_lifecycle_management_script_script_input, yang_name="script-input", parent=self, is_container='list', user_ordered=False, path_helper=self._path_helper, yang_keys='key', extensions=None), is_container='list', yang_name="script-input", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, extensions=None, namespace='urn:etsi:nfv:yang:etsi-nfv-vnfd', defining_module='etsi-nfv-vnfd', yang_type='list', is_config=True)""",

28148 })

28149

28150 self.__script_input = t

28151 if hasattr(self, '_set'):

28152 self._set()

28153

28154 def _unset_script_input(self):

28155 self.__script_input = YANGDynClass(base=YANGListType("key",yc_script_input_etsi_nfv_vnfd__vnfd_lifecycle_management_script_script_input, yang_name="script-input", parent=self, is_container='list', user_ordered=False, path_helper=self._path_helper, yang_keys='key', extensions=None), is_container='list', yang_name="script-input", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, extensions=None, namespace='urn:etsi:nfv:yang:etsi-nfv-vnfd', defining_module='etsi-nfv-vnfd', yang_type='list', is_config=True)

28156

28157 id = __builtin__.property(_get_id, _set_id)

28158 event = __builtin__.property(_get_event, _set_event)

28159 lcm_transition_event = __builtin__.property(_get_lcm_transition_event, _set_lcm_transition_event)

28160 script = __builtin__.property(_get_script, _set_script)

28161 script_dsl = __builtin__.property(_get_script_dsl, _set_script_dsl)

28162 script_input = __builtin__.property(_get_script_input, _set_script_input)

28163

28164

28165 _pyangbind_elements = OrderedDict([('id', id), ('event', event), ('lcm_transition_event', lcm_transition_event), ('script', script), ('script_dsl', script_dsl), ('script_input', script_input), ])

28166

28167

28168 class yc_element_group_etsi_nfv_vnfd__vnfd_element_group(PybindBase):

28169 """

28170 This class was auto-generated by the PythonClass plugin for PYANG

28171 from YANG module etsi-nfv-vnfd - based on the path /vnfd/element-group. Each member element of

28172 the container is represented as a class variable - with a specific

28173 YANG type.

28174

28175 YANG Description: Describes the associated elements of a VNFD for a certain

28176 purpose during VNF lifecycle management.

28177 """

28178 __slots__ = ('_path_helper', '_extmethods', '__id','__description','__vdu','__virtual_link_desc',)

28179

28180 _yang_name = 'element-group'

28181 _yang_namespace = 'urn:etsi:nfv:yang:etsi-nfv-vnfd'

28182

28183 _pybind_generated_by = 'container'

28184

28185 def __init__(self, *args, **kwargs):

28186

28187 self._path_helper = False

28188

28189 self._extmethods = False

28190 self.__id = YANGDynClass(base=str, is_leaf=True, yang_name="id", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, is_keyval=True, namespace='urn:etsi:nfv:yang:etsi-nfv-vnfd', defining_module='etsi-nfv-vnfd', yang_type='string', is_config=True)

28191 self.__description = YANGDynClass(base=str, is_leaf=True, yang_name="description", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='urn:etsi:nfv:yang:etsi-nfv-vnfd', defining_module='etsi-nfv-vnfd', yang_type='string', is_config=True)

28192 self.__vdu = YANGDynClass(unique=True, base=TypedListType(allowed_type=str), is_leaf=False, yang_name="vdu", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='urn:etsi:nfv:yang:etsi-nfv-vnfd', defining_module='etsi-nfv-vnfd', yang_type='leafref', is_config=True)

28193 self.__virtual_link_desc = YANGDynClass(unique=True, base=TypedListType(allowed_type=str), is_leaf=False, yang_name="virtual-link-desc", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='urn:etsi:nfv:yang:etsi-nfv-vnfd', defining_module='etsi-nfv-vnfd', yang_type='leafref', is_config=True)

28194

28195 load = kwargs.pop("load", None)

28196 if args:

28197 if len(args) > 1:

28198 raise TypeError("cannot create a YANG container with >1 argument")

28199 all_attr = True

28200 for e in self._pyangbind_elements:

28201 if not hasattr(args[0], e):

28202 all_attr = False

28203 break

28204 if not all_attr:

28205 raise ValueError("Supplied object did not have the correct attributes")

28206 for e in self._pyangbind_elements:

28207 nobj = getattr(args[0], e)

28208 if nobj._changed() is False:

28209 continue

28210 setmethod = getattr(self, "_set_%s" % e)

28211 if load is None:

28212 setmethod(getattr(args[0], e))

28213 else:

28214 setmethod(getattr(args[0], e), load=load)

28215

28216 def _path(self):

28217 if hasattr(self, "_parent"):

28218 return self._parent._path()+[self._yang_name]

28219 else:

28220 return ['vnfd', 'element-group']

28221

28222 def _get_id(self):

28223 """

28224 Getter method for id, mapped from YANG variable /vnfd/element_group/id (string)

28225

28226 YANG Description: Unique identifier of this group in the VNFD.

28227 """

28228 return self.__id

28229

28230 def _set_id(self, v, load=False):

28231 """

28232 Setter method for id, mapped from YANG variable /vnfd/element_group/id (string)

28233 If this variable is read-only (config: false) in the

28234 source YANG file, then _set_id is considered as a private

28235 method. Backends looking to populate this variable should

28236 do so via calling thisObj._set_id() directly.

28237

28238 YANG Description: Unique identifier of this group in the VNFD.

28239 """

28240 parent = getattr(self, "_parent", None)

28241 if parent is not None and load is False:

28242 raise AttributeError("Cannot set keys directly when" +

28243 " within an instantiated list")

28244

28245 if hasattr(v, "_utype"):

28246 v = v._utype(v)

28247 try:

28248 t = YANGDynClass(v,base=str, is_leaf=True, yang_name="id", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, is_keyval=True, namespace='urn:etsi:nfv:yang:etsi-nfv-vnfd', defining_module='etsi-nfv-vnfd', yang_type='string', is_config=True)

28249 except (TypeError, ValueError):

28250 raise ValueError({

28251 'error-string': """id must be of a type compatible with string""",

28252 'defined-type': "string",

28253 'generated-type': """YANGDynClass(base=str, is_leaf=True, yang_name="id", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, is_keyval=True, namespace='urn:etsi:nfv:yang:etsi-nfv-vnfd', defining_module='etsi-nfv-vnfd', yang_type='string', is_config=True)""",

28254 })

28255

28256 self.__id = t

28257 if hasattr(self, '_set'):

28258 self._set()

28259

28260 def _unset_id(self):

28261 self.__id = YANGDynClass(base=str, is_leaf=True, yang_name="id", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, is_keyval=True, namespace='urn:etsi:nfv:yang:etsi-nfv-vnfd', defining_module='etsi-nfv-vnfd', yang_type='string', is_config=True)

28262

28263

28264 def _get_description(self):

28265 """

28266 Getter method for description, mapped from YANG variable /vnfd/element_group/description (string)

28267

28268 YANG Description: Human readable description of the group.

28269 """

28270 return self.__description

28271

28272 def _set_description(self, v, load=False):

28273 """

28274 Setter method for description, mapped from YANG variable /vnfd/element_group/description (string)

28275 If this variable is read-only (config: false) in the

28276 source YANG file, then _set_description is considered as a private

28277 method. Backends looking to populate this variable should

28278 do so via calling thisObj._set_description() directly.

28279

28280 YANG Description: Human readable description of the group.

28281 """

28282 if hasattr(v, "_utype"):

28283 v = v._utype(v)

28284 try:

28285 t = YANGDynClass(v,base=str, is_leaf=True, yang_name="description", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='urn:etsi:nfv:yang:etsi-nfv-vnfd', defining_module='etsi-nfv-vnfd', yang_type='string', is_config=True)

28286 except (TypeError, ValueError):

28287 raise ValueError({

28288 'error-string': """description must be of a type compatible with string""",

28289 'defined-type': "string",

28290 'generated-type': """YANGDynClass(base=str, is_leaf=True, yang_name="description", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='urn:etsi:nfv:yang:etsi-nfv-vnfd', defining_module='etsi-nfv-vnfd', yang_type='string', is_config=True)""",

28291 })

28292

28293 self.__description = t

28294 if hasattr(self, '_set'):

28295 self._set()

28296

28297 def _unset_description(self):

28298 self.__description = YANGDynClass(base=str, is_leaf=True, yang_name="description", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='urn:etsi:nfv:yang:etsi-nfv-vnfd', defining_module='etsi-nfv-vnfd', yang_type='string', is_config=True)

28299

28300

28301 def _get_vdu(self):

28302 """

28303 Getter method for vdu, mapped from YANG variable /vnfd/element_group/vdu (leafref)

28304

28305 YANG Description: References to Vdus that are part of this group.

28306 """

28307 return self.__vdu

28308

28309 def _set_vdu(self, v, load=False):

28310 """

28311 Setter method for vdu, mapped from YANG variable /vnfd/element_group/vdu (leafref)

28312 If this variable is read-only (config: false) in the

28313 source YANG file, then _set_vdu is considered as a private

28314 method. Backends looking to populate this variable should

28315 do so via calling thisObj._set_vdu() directly.

28316

28317 YANG Description: References to Vdus that are part of this group.

28318 """

28319 if hasattr(v, "_utype"):

28320 v = v._utype(v)

28321 try:

28322 t = YANGDynClass(v,unique=True, base=TypedListType(allowed_type=str), is_leaf=False, yang_name="vdu", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='urn:etsi:nfv:yang:etsi-nfv-vnfd', defining_module='etsi-nfv-vnfd', yang_type='leafref', is_config=True)

28323 except (TypeError, ValueError):

28324 raise ValueError({

28325 'error-string': """vdu must be of a type compatible with leafref""",

28326 'defined-type': "leafref",

28327 'generated-type': """YANGDynClass(unique=True, base=TypedListType(allowed_type=str), is_leaf=False, yang_name="vdu", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='urn:etsi:nfv:yang:etsi-nfv-vnfd', defining_module='etsi-nfv-vnfd', yang_type='leafref', is_config=True)""",

28328 })

28329

28330 self.__vdu = t

28331 if hasattr(self, '_set'):

28332 self._set()

28333

28334 def _unset_vdu(self):

28335 self.__vdu = YANGDynClass(unique=True, base=TypedListType(allowed_type=str), is_leaf=False, yang_name="vdu", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='urn:etsi:nfv:yang:etsi-nfv-vnfd', defining_module='etsi-nfv-vnfd', yang_type='leafref', is_config=True)

28336

28337

28338 def _get_virtual_link_desc(self):

28339 """

28340 Getter method for virtual_link_desc, mapped from YANG variable /vnfd/element_group/virtual_link_desc (leafref)

28341

28342 YANG Description: References to VnfVirtualLinkDesc that are part of this

28343 group.

28344 """

28345 return self.__virtual_link_desc

28346

28347 def _set_virtual_link_desc(self, v, load=False):

28348 """

28349 Setter method for virtual_link_desc, mapped from YANG variable /vnfd/element_group/virtual_link_desc (leafref)

28350 If this variable is read-only (config: false) in the

28351 source YANG file, then _set_virtual_link_desc is considered as a private

28352 method. Backends looking to populate this variable should

28353 do so via calling thisObj._set_virtual_link_desc() directly.

28354

28355 YANG Description: References to VnfVirtualLinkDesc that are part of this

28356 group.

28357 """

28358 if hasattr(v, "_utype"):

28359 v = v._utype(v)

28360 try:

28361 t = YANGDynClass(v,unique=True, base=TypedListType(allowed_type=str), is_leaf=False, yang_name="virtual-link-desc", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='urn:etsi:nfv:yang:etsi-nfv-vnfd', defining_module='etsi-nfv-vnfd', yang_type='leafref', is_config=True)

28362 except (TypeError, ValueError):

28363 raise ValueError({

28364 'error-string': """virtual_link_desc must be of a type compatible with leafref""",

28365 'defined-type': "leafref",

28366 'generated-type': """YANGDynClass(unique=True, base=TypedListType(allowed_type=str), is_leaf=False, yang_name="virtual-link-desc", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='urn:etsi:nfv:yang:etsi-nfv-vnfd', defining_module='etsi-nfv-vnfd', yang_type='leafref', is_config=True)""",

28367 })

28368

28369 self.__virtual_link_desc = t

28370 if hasattr(self, '_set'):

28371 self._set()

28372

28373 def _unset_virtual_link_desc(self):

28374 self.__virtual_link_desc = YANGDynClass(unique=True, base=TypedListType(allowed_type=str), is_leaf=False, yang_name="virtual-link-desc", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='urn:etsi:nfv:yang:etsi-nfv-vnfd', defining_module='etsi-nfv-vnfd', yang_type='leafref', is_config=True)

28375

28376 id = __builtin__.property(_get_id, _set_id)

28377 description = __builtin__.property(_get_description, _set_description)

28378 vdu = __builtin__.property(_get_vdu, _set_vdu)

28379 virtual_link_desc = __builtin__.property(_get_virtual_link_desc, _set_virtual_link_desc)

28380

28381

28382 _pyangbind_elements = OrderedDict([('id', id), ('description', description), ('vdu', vdu), ('virtual_link_desc', virtual_link_desc), ])

28383

28384

28385 class yc_indicator_etsi_nfv_vnfd__vnfd_indicator(PybindBase):

28386 """

28387 This class was auto-generated by the PythonClass plugin for PYANG

28388 from YANG module etsi-nfv-vnfd - based on the path /vnfd/indicator. Each member element of

28389 the container is represented as a class variable - with a specific

28390 YANG type.

28391

28392 YANG Description: Declares the VNF indicators that are supported by this

28393 VNF.

28394 """

28395 __slots__ = ('_path_helper', '_extmethods', '__id','__name','__indicator_value','__source',)

28396

28397 _yang_name = 'indicator'

28398 _yang_namespace = 'urn:etsi:nfv:yang:etsi-nfv-vnfd'

28399

28400 _pybind_generated_by = 'container'

28401

28402 def __init__(self, *args, **kwargs):

28403

28404 self._path_helper = False

28405

28406 self._extmethods = False

28407 self.__id = YANGDynClass(base=str, is_leaf=True, yang_name="id", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, is_keyval=True, namespace='urn:etsi:nfv:yang:etsi-nfv-vnfd', defining_module='etsi-nfv-vnfd', yang_type='string', is_config=True)

28408 self.__name = YANGDynClass(base=str, is_leaf=True, yang_name="name", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='urn:etsi:nfv:yang:etsi-nfv-vnfd', defining_module='etsi-nfv-vnfd', yang_type='string', is_config=True)

28409 self.__indicator_value = YANGDynClass(unique=True, base=TypedListType(allowed_type=str), is_leaf=False, yang_name="indicator-value", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='urn:etsi:nfv:yang:etsi-nfv-vnfd', defining_module='etsi-nfv-vnfd', yang_type='string', is_config=True)

28410 self.__source = YANGDynClass(base=RestrictedClassType(base_type=str, restriction_type="dict_key", restriction_arg={'vnf': {}, 'em': {}, 'both': {}},), is_leaf=True, yang_name="source", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='urn:etsi:nfv:yang:etsi-nfv-vnfd', defining_module='etsi-nfv-vnfd', yang_type='enumeration', is_config=True)

28411

28412 load = kwargs.pop("load", None)

28413 if args:

28414 if len(args) > 1:

28415 raise TypeError("cannot create a YANG container with >1 argument")

28416 all_attr = True

28417 for e in self._pyangbind_elements:

28418 if not hasattr(args[0], e):

28419 all_attr = False

28420 break

28421 if not all_attr:

28422 raise ValueError("Supplied object did not have the correct attributes")

28423 for e in self._pyangbind_elements:

28424 nobj = getattr(args[0], e)

28425 if nobj._changed() is False:

28426 continue

28427 setmethod = getattr(self, "_set_%s" % e)

28428 if load is None:

28429 setmethod(getattr(args[0], e))

28430 else:

28431 setmethod(getattr(args[0], e), load=load)

28432

28433 def _path(self):

28434 if hasattr(self, "_parent"):

28435 return self._parent._path()+[self._yang_name]

28436 else:

28437 return ['vnfd', 'indicator']

28438

28439 def _get_id(self):

28440 """

28441 Getter method for id, mapped from YANG variable /vnfd/indicator/id (string)

28442

28443 YANG Description: Unique identifier

28444 """

28445 return self.__id

28446

28447 def _set_id(self, v, load=False):

28448 """

28449 Setter method for id, mapped from YANG variable /vnfd/indicator/id (string)

28450 If this variable is read-only (config: false) in the

28451 source YANG file, then _set_id is considered as a private

28452 method. Backends looking to populate this variable should

28453 do so via calling thisObj._set_id() directly.

28454

28455 YANG Description: Unique identifier

28456 """

28457 parent = getattr(self, "_parent", None)

28458 if parent is not None and load is False:

28459 raise AttributeError("Cannot set keys directly when" +

28460 " within an instantiated list")

28461

28462 if hasattr(v, "_utype"):

28463 v = v._utype(v)

28464 try:

28465 t = YANGDynClass(v,base=str, is_leaf=True, yang_name="id", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, is_keyval=True, namespace='urn:etsi:nfv:yang:etsi-nfv-vnfd', defining_module='etsi-nfv-vnfd', yang_type='string', is_config=True)

28466 except (TypeError, ValueError):

28467 raise ValueError({

28468 'error-string': """id must be of a type compatible with string""",

28469 'defined-type': "string",

28470 'generated-type': """YANGDynClass(base=str, is_leaf=True, yang_name="id", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, is_keyval=True, namespace='urn:etsi:nfv:yang:etsi-nfv-vnfd', defining_module='etsi-nfv-vnfd', yang_type='string', is_config=True)""",

28471 })

28472

28473 self.__id = t

28474 if hasattr(self, '_set'):

28475 self._set()

28476

28477 def _unset_id(self):

28478 self.__id = YANGDynClass(base=str, is_leaf=True, yang_name="id", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, is_keyval=True, namespace='urn:etsi:nfv:yang:etsi-nfv-vnfd', defining_module='etsi-nfv-vnfd', yang_type='string', is_config=True)

28479

28480

28481 def _get_name(self):

28482 """

28483 Getter method for name, mapped from YANG variable /vnfd/indicator/name (string)

28484

28485 YANG Description: The human readable name of the VnfIndicator.

28486 """

28487 return self.__name

28488

28489 def _set_name(self, v, load=False):

28490 """

28491 Setter method for name, mapped from YANG variable /vnfd/indicator/name (string)

28492 If this variable is read-only (config: false) in the

28493 source YANG file, then _set_name is considered as a private

28494 method. Backends looking to populate this variable should

28495 do so via calling thisObj._set_name() directly.

28496

28497 YANG Description: The human readable name of the VnfIndicator.

28498 """

28499 if hasattr(v, "_utype"):

28500 v = v._utype(v)

28501 try:

28502 t = YANGDynClass(v,base=str, is_leaf=True, yang_name="name", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='urn:etsi:nfv:yang:etsi-nfv-vnfd', defining_module='etsi-nfv-vnfd', yang_type='string', is_config=True)

28503 except (TypeError, ValueError):

28504 raise ValueError({

28505 'error-string': """name must be of a type compatible with string""",

28506 'defined-type': "string",

28507 'generated-type': """YANGDynClass(base=str, is_leaf=True, yang_name="name", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='urn:etsi:nfv:yang:etsi-nfv-vnfd', defining_module='etsi-nfv-vnfd', yang_type='string', is_config=True)""",

28508 })

28509

28510 self.__name = t

28511 if hasattr(self, '_set'):

28512 self._set()

28513

28514 def _unset_name(self):

28515 self.__name = YANGDynClass(base=str, is_leaf=True, yang_name="name", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='urn:etsi:nfv:yang:etsi-nfv-vnfd', defining_module='etsi-nfv-vnfd', yang_type='string', is_config=True)

28516

28517

28518 def _get_indicator_value(self):

28519 """

28520 Getter method for indicator_value, mapped from YANG variable /vnfd/indicator/indicator_value (string)

28521

28522 YANG Description: Defines the allowed values or value ranges of this

28523 indicator.

28524 """

28525 return self.__indicator_value

28526

28527 def _set_indicator_value(self, v, load=False):

28528 """

28529 Setter method for indicator_value, mapped from YANG variable /vnfd/indicator/indicator_value (string)

28530 If this variable is read-only (config: false) in the

28531 source YANG file, then _set_indicator_value is considered as a private

28532 method. Backends looking to populate this variable should

28533 do so via calling thisObj._set_indicator_value() directly.

28534

28535 YANG Description: Defines the allowed values or value ranges of this

28536 indicator.

28537 """

28538 if hasattr(v, "_utype"):

28539 v = v._utype(v)

28540 try:

28541 t = YANGDynClass(v,unique=True, base=TypedListType(allowed_type=str), is_leaf=False, yang_name="indicator-value", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='urn:etsi:nfv:yang:etsi-nfv-vnfd', defining_module='etsi-nfv-vnfd', yang_type='string', is_config=True)

28542 except (TypeError, ValueError):

28543 raise ValueError({

28544 'error-string': """indicator_value must be of a type compatible with string""",

28545 'defined-type': "string",

28546 'generated-type': """YANGDynClass(unique=True, base=TypedListType(allowed_type=str), is_leaf=False, yang_name="indicator-value", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='urn:etsi:nfv:yang:etsi-nfv-vnfd', defining_module='etsi-nfv-vnfd', yang_type='string', is_config=True)""",

28547 })

28548

28549 self.__indicator_value = t

28550 if hasattr(self, '_set'):

28551 self._set()

28552

28553 def _unset_indicator_value(self):

28554 self.__indicator_value = YANGDynClass(unique=True, base=TypedListType(allowed_type=str), is_leaf=False, yang_name="indicator-value", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='urn:etsi:nfv:yang:etsi-nfv-vnfd', defining_module='etsi-nfv-vnfd', yang_type='string', is_config=True)

28555

28556

28557 def _get_source(self):

28558 """

28559 Getter method for source, mapped from YANG variable /vnfd/indicator/source (enumeration)

28560

28561 YANG Description: Describe the source of the indicator. The possible values

28562 are:

28563• VNF.

28564• EM.

28565• Both.

28566 This tells the consumer where to send the subscription

28567 request.

28568 """

28569 return self.__source

28570

28571 def _set_source(self, v, load=False):

28572 """

28573 Setter method for source, mapped from YANG variable /vnfd/indicator/source (enumeration)

28574 If this variable is read-only (config: false) in the

28575 source YANG file, then _set_source is considered as a private

28576 method. Backends looking to populate this variable should

28577 do so via calling thisObj._set_source() directly.

28578

28579 YANG Description: Describe the source of the indicator. The possible values

28580 are:

28581• VNF.

28582• EM.

28583• Both.

28584 This tells the consumer where to send the subscription

28585 request.

28586 """

28587 if hasattr(v, "_utype"):

28588 v = v._utype(v)

28589 try:

28590 t = YANGDynClass(v,base=RestrictedClassType(base_type=str, restriction_type="dict_key", restriction_arg={'vnf': {}, 'em': {}, 'both': {}},), is_leaf=True, yang_name="source", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='urn:etsi:nfv:yang:etsi-nfv-vnfd', defining_module='etsi-nfv-vnfd', yang_type='enumeration', is_config=True)

28591 except (TypeError, ValueError):

28592 raise ValueError({

28593 'error-string': """source must be of a type compatible with enumeration""",

28594 'defined-type': "etsi-nfv-vnfd:enumeration",

28595 'generated-type': """YANGDynClass(base=RestrictedClassType(base_type=str, restriction_type="dict_key", restriction_arg={'vnf': {}, 'em': {}, 'both': {}},), is_leaf=True, yang_name="source", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='urn:etsi:nfv:yang:etsi-nfv-vnfd', defining_module='etsi-nfv-vnfd', yang_type='enumeration', is_config=True)""",

28596 })

28597

28598 self.__source = t

28599 if hasattr(self, '_set'):

28600 self._set()

28601

28602 def _unset_source(self):

28603 self.__source = YANGDynClass(base=RestrictedClassType(base_type=str, restriction_type="dict_key", restriction_arg={'vnf': {}, 'em': {}, 'both': {}},), is_leaf=True, yang_name="source", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='urn:etsi:nfv:yang:etsi-nfv-vnfd', defining_module='etsi-nfv-vnfd', yang_type='enumeration', is_config=True)

28604

28605 id = __builtin__.property(_get_id, _set_id)

28606 name = __builtin__.property(_get_name, _set_name)

28607 indicator_value = __builtin__.property(_get_indicator_value, _set_indicator_value)

28608 source = __builtin__.property(_get_source, _set_source)

28609

28610

28611 _pyangbind_elements = OrderedDict([('id', id), ('name', name), ('indicator_value', indicator_value), ('source', source), ])

28612

28613

28614 class yc_service_etsi_nfv_vnfd__vnfd_kdu_service(PybindBase):

28615 """

28616 This class was auto-generated by the PythonClass plugin for PYANG

28617 from YANG module etsi-nfv-vnfd - based on the path /vnfd/kdu/service. Each member element of

28618 the container is represented as a class variable - with a specific

28619 YANG type.

28620

28621 YANG Description: List of Kubernetes services exposed by the KDU.

28622 If empty, all services are assumed to be exposed in the CP associated to the first network

28623 in k8s-cluster.nets.

28624 """

28625 __slots__ = ('_path_helper', '_extmethods', '__name','__external_connection_point_ref',)

28626

28627 _yang_name = 'service'

28628 _yang_namespace = 'urn:etsi:nfv:yang:etsi-nfv-vnfd'

28629

28630 _pybind_generated_by = 'container'

28631

28632 def __init__(self, *args, **kwargs):

28633

28634 self._path_helper = False

28635

28636 self._extmethods = False

28637 self.__name = YANGDynClass(base=str, is_leaf=True, yang_name="name", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, is_keyval=True, namespace='urn:etsi:osm:yang:augments:kdu', defining_module='kdu', yang_type='string', is_config=True)

28638 self.__external_connection_point_ref = YANGDynClass(base=str, is_leaf=True, yang_name="external-connection-point-ref", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='urn:etsi:osm:yang:augments:kdu', defining_module='kdu', yang_type='string', is_config=True)

28639

28640 load = kwargs.pop("load", None)

28641 if args:

28642 if len(args) > 1:

28643 raise TypeError("cannot create a YANG container with >1 argument")

28644 all_attr = True

28645 for e in self._pyangbind_elements:

28646 if not hasattr(args[0], e):

28647 all_attr = False

28648 break

28649 if not all_attr:

28650 raise ValueError("Supplied object did not have the correct attributes")

28651 for e in self._pyangbind_elements:

28652 nobj = getattr(args[0], e)

28653 if nobj._changed() is False:

28654 continue

28655 setmethod = getattr(self, "_set_%s" % e)

28656 if load is None:

28657 setmethod(getattr(args[0], e))

28658 else:

28659 setmethod(getattr(args[0], e), load=load)

28660

28661 def _path(self):

28662 if hasattr(self, "_parent"):

28663 return self._parent._path()+[self._yang_name]

28664 else:

28665 return ['vnfd', 'kdu', 'service']

28666

28667 def _get_name(self):

28668 """

28669 Getter method for name, mapped from YANG variable /vnfd/kdu/service/name (string)

28670

28671 YANG Description: Name of the Kubernetes service exposed by he KDU model

28672 """

28673 return self.__name

28674

28675 def _set_name(self, v, load=False):

28676 """

28677 Setter method for name, mapped from YANG variable /vnfd/kdu/service/name (string)

28678 If this variable is read-only (config: false) in the

28679 source YANG file, then _set_name is considered as a private

28680 method. Backends looking to populate this variable should

28681 do so via calling thisObj._set_name() directly.

28682

28683 YANG Description: Name of the Kubernetes service exposed by he KDU model

28684 """

28685 parent = getattr(self, "_parent", None)

28686 if parent is not None and load is False:

28687 raise AttributeError("Cannot set keys directly when" +

28688 " within an instantiated list")

28689

28690 if hasattr(v, "_utype"):

28691 v = v._utype(v)

28692 try:

28693 t = YANGDynClass(v,base=str, is_leaf=True, yang_name="name", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, is_keyval=True, namespace='urn:etsi:osm:yang:augments:kdu', defining_module='kdu', yang_type='string', is_config=True)

28694 except (TypeError, ValueError):

28695 raise ValueError({

28696 'error-string': """name must be of a type compatible with string""",

28697 'defined-type': "string",

28698 'generated-type': """YANGDynClass(base=str, is_leaf=True, yang_name="name", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, is_keyval=True, namespace='urn:etsi:osm:yang:augments:kdu', defining_module='kdu', yang_type='string', is_config=True)""",

28699 })

28700

28701 self.__name = t

28702 if hasattr(self, '_set'):

28703 self._set()

28704

28705 def _unset_name(self):

28706 self.__name = YANGDynClass(base=str, is_leaf=True, yang_name="name", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, is_keyval=True, namespace='urn:etsi:osm:yang:augments:kdu', defining_module='kdu', yang_type='string', is_config=True)

28707

28708

28709 def _get_external_connection_point_ref(self):

28710 """

28711 Getter method for external_connection_point_ref, mapped from YANG variable /vnfd/kdu/service/external_connection_point_ref (string)

28712

28713 YANG Description: String representing a leaf reference to the particular external connection point.

28714 This field should match /etsi-nfv-vnfd:vnfd/etsi-nfv-vnfd:ext-cpd/etsi-nfv-vnfd:id

28715

28716 """

28717 return self.__external_connection_point_ref

28718

28719 def _set_external_connection_point_ref(self, v, load=False):

28720 """

28721 Setter method for external_connection_point_ref, mapped from YANG variable /vnfd/kdu/service/external_connection_point_ref (string)

28722 If this variable is read-only (config: false) in the

28723 source YANG file, then _set_external_connection_point_ref is considered as a private

28724 method. Backends looking to populate this variable should

28725 do so via calling thisObj._set_external_connection_point_ref() directly.

28726

28727 YANG Description: String representing a leaf reference to the particular external connection point.

28728 This field should match /etsi-nfv-vnfd:vnfd/etsi-nfv-vnfd:ext-cpd/etsi-nfv-vnfd:id

28729

28730 """

28731 if hasattr(v, "_utype"):

28732 v = v._utype(v)

28733 try:

28734 t = YANGDynClass(v,base=str, is_leaf=True, yang_name="external-connection-point-ref", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='urn:etsi:osm:yang:augments:kdu', defining_module='kdu', yang_type='string', is_config=True)

28735 except (TypeError, ValueError):

28736 raise ValueError({

28737 'error-string': """external_connection_point_ref must be of a type compatible with string""",

28738 'defined-type': "string",

28739 'generated-type': """YANGDynClass(base=str, is_leaf=True, yang_name="external-connection-point-ref", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='urn:etsi:osm:yang:augments:kdu', defining_module='kdu', yang_type='string', is_config=True)""",

28740 })

28741

28742 self.__external_connection_point_ref = t

28743 if hasattr(self, '_set'):

28744 self._set()

28745

28746 def _unset_external_connection_point_ref(self):

28747 self.__external_connection_point_ref = YANGDynClass(base=str, is_leaf=True, yang_name="external-connection-point-ref", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='urn:etsi:osm:yang:augments:kdu', defining_module='kdu', yang_type='string', is_config=True)

28748

28749 name = __builtin__.property(_get_name, _set_name)

28750 external_connection_point_ref = __builtin__.property(_get_external_connection_point_ref, _set_external_connection_point_ref)

28751

28752

28753 _pyangbind_elements = OrderedDict([('name', name), ('external_connection_point_ref', external_connection_point_ref), ])

28754

28755

28756 class yc_kdu_etsi_nfv_vnfd__vnfd_kdu(PybindBase):

28757 """

28758 This class was auto-generated by the PythonClass plugin for PYANG

28759 from YANG module etsi-nfv-vnfd - based on the path /vnfd/kdu. Each member element of

28760 the container is represented as a class variable - with a specific

28761 YANG type.

28762

28763 YANG Description: List of K8s Deployment Units

28764 """

28765 __slots__ = ('_path_helper', '_extmethods', '__name','__description','__helm_chart','__helm_version','__juju_bundle','__service',)

28766

28767 _yang_name = 'kdu'

28768 _yang_namespace = 'urn:etsi:nfv:yang:etsi-nfv-vnfd'

28769

28770 _pybind_generated_by = 'container'

28771

28772 def __init__(self, *args, **kwargs):

28773

28774 self._path_helper = False

28775

28776 self._extmethods = False

28777 self.__name = YANGDynClass(base=str, is_leaf=True, yang_name="name", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, is_keyval=True, namespace='urn:etsi:osm:yang:augments:kdu', defining_module='kdu', yang_type='string', is_config=True)

28778 self.__description = YANGDynClass(base=str, is_leaf=True, yang_name="description", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='urn:etsi:osm:yang:augments:kdu', defining_module='kdu', yang_type='string', is_config=True)

28779 self.__helm_chart = YANGDynClass(base=str, is_leaf=True, yang_name="helm-chart", parent=self, choice=('kdu-model', 'helm-chart'), path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='urn:etsi:osm:yang:augments:kdu', defining_module='kdu', yang_type='string', is_config=True)

28780 self.__helm_version = YANGDynClass(base=RestrictedClassType(base_type=str, restriction_type="dict_key", restriction_arg={'v3': {}},), default=str("v3"), is_leaf=True, yang_name="helm-version", parent=self, choice=('kdu-model', 'helm-chart'), path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='urn:etsi:osm:yang:augments:kdu', defining_module='kdu', yang_type='enumeration', is_config=True)

28781 self.__juju_bundle = YANGDynClass(base=str, is_leaf=True, yang_name="juju-bundle", parent=self, choice=('kdu-model', 'juju-bundle'), path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='urn:etsi:osm:yang:augments:kdu', defining_module='kdu', yang_type='string', is_config=True)

28782 self.__service = YANGDynClass(base=YANGListType("name",yc_service_etsi_nfv_vnfd__vnfd_kdu_service, yang_name="service", parent=self, is_container='list', user_ordered=False, path_helper=self._path_helper, yang_keys='name', extensions=None), is_container='list', yang_name="service", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, extensions=None, namespace='urn:etsi:osm:yang:augments:kdu', defining_module='kdu', yang_type='list', is_config=True)

28783

28784 load = kwargs.pop("load", None)

28785 if args:

28786 if len(args) > 1:

28787 raise TypeError("cannot create a YANG container with >1 argument")

28788 all_attr = True

28789 for e in self._pyangbind_elements:

28790 if not hasattr(args[0], e):

28791 all_attr = False

28792 break

28793 if not all_attr:

28794 raise ValueError("Supplied object did not have the correct attributes")

28795 for e in self._pyangbind_elements:

28796 nobj = getattr(args[0], e)

28797 if nobj._changed() is False:

28798 continue

28799 setmethod = getattr(self, "_set_%s" % e)

28800 if load is None:

28801 setmethod(getattr(args[0], e))

28802 else:

28803 setmethod(getattr(args[0], e), load=load)

28804

28805 def _path(self):

28806 if hasattr(self, "_parent"):

28807 return self._parent._path()+[self._yang_name]

28808 else:

28809 return ['vnfd', 'kdu']

28810

28811 def _get_name(self):

28812 """

28813 Getter method for name, mapped from YANG variable /vnfd/kdu/name (string)

28814

28815 YANG Description: Unique name for the KDU

28816 """

28817 return self.__name

28818

28819 def _set_name(self, v, load=False):

28820 """

28821 Setter method for name, mapped from YANG variable /vnfd/kdu/name (string)

28822 If this variable is read-only (config: false) in the

28823 source YANG file, then _set_name is considered as a private

28824 method. Backends looking to populate this variable should

28825 do so via calling thisObj._set_name() directly.

28826

28827 YANG Description: Unique name for the KDU

28828 """

28829 parent = getattr(self, "_parent", None)

28830 if parent is not None and load is False:

28831 raise AttributeError("Cannot set keys directly when" +

28832 " within an instantiated list")

28833

28834 if hasattr(v, "_utype"):

28835 v = v._utype(v)

28836 try:

28837 t = YANGDynClass(v,base=str, is_leaf=True, yang_name="name", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, is_keyval=True, namespace='urn:etsi:osm:yang:augments:kdu', defining_module='kdu', yang_type='string', is_config=True)

28838 except (TypeError, ValueError):

28839 raise ValueError({

28840 'error-string': """name must be of a type compatible with string""",

28841 'defined-type': "string",

28842 'generated-type': """YANGDynClass(base=str, is_leaf=True, yang_name="name", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, is_keyval=True, namespace='urn:etsi:osm:yang:augments:kdu', defining_module='kdu', yang_type='string', is_config=True)""",

28843 })

28844

28845 self.__name = t

28846 if hasattr(self, '_set'):

28847 self._set()

28848

28849 def _unset_name(self):

28850 self.__name = YANGDynClass(base=str, is_leaf=True, yang_name="name", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, is_keyval=True, namespace='urn:etsi:osm:yang:augments:kdu', defining_module='kdu', yang_type='string', is_config=True)

28851

28852

28853 def _get_description(self):

28854 """

28855 Getter method for description, mapped from YANG variable /vnfd/kdu/description (string)

28856

28857 YANG Description: Description of the KDU.

28858 """

28859 return self.__description

28860

28861 def _set_description(self, v, load=False):

28862 """

28863 Setter method for description, mapped from YANG variable /vnfd/kdu/description (string)

28864 If this variable is read-only (config: false) in the

28865 source YANG file, then _set_description is considered as a private

28866 method. Backends looking to populate this variable should

28867 do so via calling thisObj._set_description() directly.

28868

28869 YANG Description: Description of the KDU.

28870 """

28871 if hasattr(v, "_utype"):

28872 v = v._utype(v)

28873 try:

28874 t = YANGDynClass(v,base=str, is_leaf=True, yang_name="description", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='urn:etsi:osm:yang:augments:kdu', defining_module='kdu', yang_type='string', is_config=True)

28875 except (TypeError, ValueError):

28876 raise ValueError({

28877 'error-string': """description must be of a type compatible with string""",

28878 'defined-type': "string",

28879 'generated-type': """YANGDynClass(base=str, is_leaf=True, yang_name="description", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='urn:etsi:osm:yang:augments:kdu', defining_module='kdu', yang_type='string', is_config=True)""",

28880 })

28881

28882 self.__description = t

28883 if hasattr(self, '_set'):

28884 self._set()

28885

28886 def _unset_description(self):

28887 self.__description = YANGDynClass(base=str, is_leaf=True, yang_name="description", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='urn:etsi:osm:yang:augments:kdu', defining_module='kdu', yang_type='string', is_config=True)

28888

28889

28890 def _get_helm_chart(self):

28891 """

28892 Getter method for helm_chart, mapped from YANG variable /vnfd/kdu/helm_chart (string)

28893

28894 YANG Description: Helm chart that models the KDU, in any of the following ways:

28895- <helm-repo>/<helm-chart>

28896- <helm-chart folder under k8s_models folder in the package>

28897- <helm-chart tgz file (w/ or w/o extension) under k8s_models folder in the package>

28898- <URL_where_to_fetch_chart>

28899

28900 """

28901 return self.__helm_chart

28902

28903 def _set_helm_chart(self, v, load=False):

28904 """

28905 Setter method for helm_chart, mapped from YANG variable /vnfd/kdu/helm_chart (string)

28906 If this variable is read-only (config: false) in the

28907 source YANG file, then _set_helm_chart is considered as a private

28908 method. Backends looking to populate this variable should

28909 do so via calling thisObj._set_helm_chart() directly.

28910

28911 YANG Description: Helm chart that models the KDU, in any of the following ways:

28912- <helm-repo>/<helm-chart>

28913- <helm-chart folder under k8s_models folder in the package>

28914- <helm-chart tgz file (w/ or w/o extension) under k8s_models folder in the package>

28915- <URL_where_to_fetch_chart>

28916

28917 """

28918 if hasattr(v, "_utype"):

28919 v = v._utype(v)

28920 try:

28921 t = YANGDynClass(v,base=str, is_leaf=True, yang_name="helm-chart", parent=self, choice=('kdu-model', 'helm-chart'), path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='urn:etsi:osm:yang:augments:kdu', defining_module='kdu', yang_type='string', is_config=True)

28922 except (TypeError, ValueError):

28923 raise ValueError({

28924 'error-string': """helm_chart must be of a type compatible with string""",

28925 'defined-type': "string",

28926 'generated-type': """YANGDynClass(base=str, is_leaf=True, yang_name="helm-chart", parent=self, choice=('kdu-model', 'helm-chart'), path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='urn:etsi:osm:yang:augments:kdu', defining_module='kdu', yang_type='string', is_config=True)""",

28927 })

28928

28929 self.__helm_chart = t

28930 if hasattr(self, '_set'):

28931 self._set()

28932

28933 def _unset_helm_chart(self):

28934 self.__helm_chart = YANGDynClass(base=str, is_leaf=True, yang_name="helm-chart", parent=self, choice=('kdu-model', 'helm-chart'), path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='urn:etsi:osm:yang:augments:kdu', defining_module='kdu', yang_type='string', is_config=True)

28935

28936

28937 def _get_helm_version(self):

28938 """

28939 Getter method for helm_version, mapped from YANG variable /vnfd/kdu/helm_version (enumeration)

28940

28941 YANG Description: Helm version to use for this helm-chart, v3 by default

28942 """

28943 return self.__helm_version

28944

28945 def _set_helm_version(self, v, load=False):

28946 """

28947 Setter method for helm_version, mapped from YANG variable /vnfd/kdu/helm_version (enumeration)

28948 If this variable is read-only (config: false) in the

28949 source YANG file, then _set_helm_version is considered as a private

28950 method. Backends looking to populate this variable should

28951 do so via calling thisObj._set_helm_version() directly.

28952

28953 YANG Description: Helm version to use for this helm-chart, v3 by default

28954 """

28955 if hasattr(v, "_utype"):

28956 v = v._utype(v)

28957 try:

28958 t = YANGDynClass(v,base=RestrictedClassType(base_type=str, restriction_type="dict_key", restriction_arg={'v3': {}},), default=str("v3"), is_leaf=True, yang_name="helm-version", parent=self, choice=('kdu-model', 'helm-chart'), path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='urn:etsi:osm:yang:augments:kdu', defining_module='kdu', yang_type='enumeration', is_config=True)

28959 except (TypeError, ValueError):

28960 raise ValueError({

28961 'error-string': """helm_version must be of a type compatible with enumeration""",

28962 'defined-type': "kdu:enumeration",

28963 'generated-type': """YANGDynClass(base=RestrictedClassType(base_type=str, restriction_type="dict_key", restriction_arg={'v3': {}},), default=str("v3"), is_leaf=True, yang_name="helm-version", parent=self, choice=('kdu-model', 'helm-chart'), path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='urn:etsi:osm:yang:augments:kdu', defining_module='kdu', yang_type='enumeration', is_config=True)""",

28964 })

28965

28966 self.__helm_version = t

28967 if hasattr(self, '_set'):

28968 self._set()

28969

28970 def _unset_helm_version(self):

28971 self.__helm_version = YANGDynClass(base=RestrictedClassType(base_type=str, restriction_type="dict_key", restriction_arg={'v3': {}},), default=str("v3"), is_leaf=True, yang_name="helm-version", parent=self, choice=('kdu-model', 'helm-chart'), path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='urn:etsi:osm:yang:augments:kdu', defining_module='kdu', yang_type='enumeration', is_config=True)

28972

28973

28974 def _get_juju_bundle(self):

28975 """

28976 Getter method for juju_bundle, mapped from YANG variable /vnfd/kdu/juju_bundle (string)

28977

28978 YANG Description: Juju bundle that models the KDU, in any of the following ways:

28979- <juju-repo>/<juju-bundle>

28980- <juju-bundle folder under k8s_models folder in the package>

28981- <juju-bundle tgz file (w/ or w/o extension) under k8s_models folder in the package>

28982- <URL_where_to_fetch_juju_bundle>

28983

28984 """

28985 return self.__juju_bundle

28986

28987 def _set_juju_bundle(self, v, load=False):

28988 """

28989 Setter method for juju_bundle, mapped from YANG variable /vnfd/kdu/juju_bundle (string)

28990 If this variable is read-only (config: false) in the

28991 source YANG file, then _set_juju_bundle is considered as a private

28992 method. Backends looking to populate this variable should

28993 do so via calling thisObj._set_juju_bundle() directly.

28994

28995 YANG Description: Juju bundle that models the KDU, in any of the following ways:

28996- <juju-repo>/<juju-bundle>

28997- <juju-bundle folder under k8s_models folder in the package>

28998- <juju-bundle tgz file (w/ or w/o extension) under k8s_models folder in the package>

28999- <URL_where_to_fetch_juju_bundle>

29000

29001 """

29002 if hasattr(v, "_utype"):

29003 v = v._utype(v)

29004 try:

29005 t = YANGDynClass(v,base=str, is_leaf=True, yang_name="juju-bundle", parent=self, choice=('kdu-model', 'juju-bundle'), path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='urn:etsi:osm:yang:augments:kdu', defining_module='kdu', yang_type='string', is_config=True)

29006 except (TypeError, ValueError):

29007 raise ValueError({

29008 'error-string': """juju_bundle must be of a type compatible with string""",

29009 'defined-type': "string",

29010 'generated-type': """YANGDynClass(base=str, is_leaf=True, yang_name="juju-bundle", parent=self, choice=('kdu-model', 'juju-bundle'), path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='urn:etsi:osm:yang:augments:kdu', defining_module='kdu', yang_type='string', is_config=True)""",

29011 })

29012

29013 self.__juju_bundle = t

29014 if hasattr(self, '_set'):

29015 self._set()

29016

29017 def _unset_juju_bundle(self):

29018 self.__juju_bundle = YANGDynClass(base=str, is_leaf=True, yang_name="juju-bundle", parent=self, choice=('kdu-model', 'juju-bundle'), path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='urn:etsi:osm:yang:augments:kdu', defining_module='kdu', yang_type='string', is_config=True)

29019

29020

29021 def _get_service(self):

29022 """

29023 Getter method for service, mapped from YANG variable /vnfd/kdu/service (list)

29024

29025 YANG Description: List of Kubernetes services exposed by the KDU.

29026 If empty, all services are assumed to be exposed in the CP associated to the first network

29027 in k8s-cluster.nets.

29028 """

29029 return self.__service

29030

29031 def _set_service(self, v, load=False):

29032 """

29033 Setter method for service, mapped from YANG variable /vnfd/kdu/service (list)

29034 If this variable is read-only (config: false) in the

29035 source YANG file, then _set_service is considered as a private

29036 method. Backends looking to populate this variable should

29037 do so via calling thisObj._set_service() directly.

29038

29039 YANG Description: List of Kubernetes services exposed by the KDU.

29040 If empty, all services are assumed to be exposed in the CP associated to the first network

29041 in k8s-cluster.nets.

29042 """

29043 if hasattr(v, "_utype"):

29044 v = v._utype(v)

29045 try:

29046 t = YANGDynClass(v,base=YANGListType("name",yc_service_etsi_nfv_vnfd__vnfd_kdu_service, yang_name="service", parent=self, is_container='list', user_ordered=False, path_helper=self._path_helper, yang_keys='name', extensions=None), is_container='list', yang_name="service", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, extensions=None, namespace='urn:etsi:osm:yang:augments:kdu', defining_module='kdu', yang_type='list', is_config=True)

29047 except (TypeError, ValueError):

29048 raise ValueError({

29049 'error-string': """service must be of a type compatible with list""",

29050 'defined-type': "list",

29051 'generated-type': """YANGDynClass(base=YANGListType("name",yc_service_etsi_nfv_vnfd__vnfd_kdu_service, yang_name="service", parent=self, is_container='list', user_ordered=False, path_helper=self._path_helper, yang_keys='name', extensions=None), is_container='list', yang_name="service", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, extensions=None, namespace='urn:etsi:osm:yang:augments:kdu', defining_module='kdu', yang_type='list', is_config=True)""",

29052 })

29053

29054 self.__service = t

29055 if hasattr(self, '_set'):

29056 self._set()

29057

29058 def _unset_service(self):

29059 self.__service = YANGDynClass(base=YANGListType("name",yc_service_etsi_nfv_vnfd__vnfd_kdu_service, yang_name="service", parent=self, is_container='list', user_ordered=False, path_helper=self._path_helper, yang_keys='name', extensions=None), is_container='list', yang_name="service", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, extensions=None, namespace='urn:etsi:osm:yang:augments:kdu', defining_module='kdu', yang_type='list', is_config=True)

29060

29061 name = __builtin__.property(_get_name, _set_name)

29062 description = __builtin__.property(_get_description, _set_description)

29063 helm_chart = __builtin__.property(_get_helm_chart, _set_helm_chart)

29064 helm_version = __builtin__.property(_get_helm_version, _set_helm_version)

29065 juju_bundle = __builtin__.property(_get_juju_bundle, _set_juju_bundle)

29066 service = __builtin__.property(_get_service, _set_service)

29067

29068 __choices__ = {'kdu-model': {'helm-chart': ['helm_chart', 'helm_version'], 'juju-bundle': ['juju_bundle']}}

29069 _pyangbind_elements = OrderedDict([('name', name), ('description', description), ('helm_chart', helm_chart), ('helm_version', helm_version), ('juju_bundle', juju_bundle), ('service', service), ])

29070

29071

29072 class yc_nets_etsi_nfv_vnfd__vnfd_k8s_cluster_nets(PybindBase):

29073 """

29074 This class was auto-generated by the PythonClass plugin for PYANG

29075 from YANG module etsi-nfv-vnfd - based on the path /vnfd/k8s-cluster/nets. Each member element of

29076 the container is represented as a class variable - with a specific

29077 YANG type.

29078

29079 YANG Description: List of required networks in the K8s cluster.

29080 The cluster where the KDUs will be deployed will have to use

29081 one of these CNI plugins.

29082 """

29083 __slots__ = ('_path_helper', '_extmethods', '__id',)

29084

29085 _yang_name = 'nets'

29086 _yang_namespace = 'urn:etsi:nfv:yang:etsi-nfv-vnfd'

29087

29088 _pybind_generated_by = 'container'

29089

29090 def __init__(self, *args, **kwargs):

29091

29092 self._path_helper = False

29093

29094 self._extmethods = False

29095 self.__id = YANGDynClass(base=str, is_leaf=True, yang_name="id", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, is_keyval=True, namespace='urn:etsi:osm:yang:augments:kdu', defining_module='kdu', yang_type='string', is_config=True)

29096

29097 load = kwargs.pop("load", None)

29098 if args:

29099 if len(args) > 1:

29100 raise TypeError("cannot create a YANG container with >1 argument")

29101 all_attr = True

29102 for e in self._pyangbind_elements:

29103 if not hasattr(args[0], e):

29104 all_attr = False

29105 break

29106 if not all_attr:

29107 raise ValueError("Supplied object did not have the correct attributes")

29108 for e in self._pyangbind_elements:

29109 nobj = getattr(args[0], e)

29110 if nobj._changed() is False:

29111 continue

29112 setmethod = getattr(self, "_set_%s" % e)

29113 if load is None:

29114 setmethod(getattr(args[0], e))

29115 else:

29116 setmethod(getattr(args[0], e), load=load)

29117

29118 def _path(self):

29119 if hasattr(self, "_parent"):

29120 return self._parent._path()+[self._yang_name]

29121 else:

29122 return ['vnfd', 'k8s-cluster', 'nets']

29123

29124 def _get_id(self):

29125 """

29126 Getter method for id, mapped from YANG variable /vnfd/k8s_cluster/nets/id (string)

29127

29128 YANG Description: Internal identifier for the K8s cluster network in this VNF

29129 """

29130 return self.__id

29131

29132 def _set_id(self, v, load=False):

29133 """

29134 Setter method for id, mapped from YANG variable /vnfd/k8s_cluster/nets/id (string)

29135 If this variable is read-only (config: false) in the

29136 source YANG file, then _set_id is considered as a private

29137 method. Backends looking to populate this variable should

29138 do so via calling thisObj._set_id() directly.

29139

29140 YANG Description: Internal identifier for the K8s cluster network in this VNF

29141 """

29142 parent = getattr(self, "_parent", None)

29143 if parent is not None and load is False:

29144 raise AttributeError("Cannot set keys directly when" +

29145 " within an instantiated list")

29146

29147 if hasattr(v, "_utype"):

29148 v = v._utype(v)

29149 try:

29150 t = YANGDynClass(v,base=str, is_leaf=True, yang_name="id", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, is_keyval=True, namespace='urn:etsi:osm:yang:augments:kdu', defining_module='kdu', yang_type='string', is_config=True)

29151 except (TypeError, ValueError):

29152 raise ValueError({

29153 'error-string': """id must be of a type compatible with string""",

29154 'defined-type': "string",

29155 'generated-type': """YANGDynClass(base=str, is_leaf=True, yang_name="id", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, is_keyval=True, namespace='urn:etsi:osm:yang:augments:kdu', defining_module='kdu', yang_type='string', is_config=True)""",

29156 })

29157

29158 self.__id = t

29159 if hasattr(self, '_set'):

29160 self._set()

29161

29162 def _unset_id(self):

29163 self.__id = YANGDynClass(base=str, is_leaf=True, yang_name="id", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, is_keyval=True, namespace='urn:etsi:osm:yang:augments:kdu', defining_module='kdu', yang_type='string', is_config=True)

29164

29165 id = __builtin__.property(_get_id, _set_id)

29166

29167

29168 _pyangbind_elements = OrderedDict([('id', id), ])

29169

29170

29171 class yc_k8s_cluster_etsi_nfv_vnfd__vnfd_k8s_cluster(PybindBase):

29172 """

29173 This class was auto-generated by the PythonClass plugin for PYANG

29174 from YANG module etsi-nfv-vnfd - based on the path /vnfd/k8s-cluster. Each member element of

29175 the container is represented as a class variable - with a specific

29176 YANG type.

29177 """

29178 __slots__ = ('_path_helper', '_extmethods', '__version','__cni','__nets',)

29179

29180 _yang_name = 'k8s-cluster'

29181 _yang_namespace = 'urn:etsi:nfv:yang:etsi-nfv-vnfd'

29182

29183 _pybind_generated_by = 'container'

29184

29185 def __init__(self, *args, **kwargs):

29186

29187 self._path_helper = False

29188

29189 self._extmethods = False

29190 self.__version = YANGDynClass(unique=True, base=TypedListType(allowed_type=str), is_leaf=False, yang_name="version", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='urn:etsi:osm:yang:augments:kdu', defining_module='kdu', yang_type='string', is_config=True)

29191 self.__cni = YANGDynClass(unique=True, base=TypedListType(allowed_type=RestrictedClassType(base_type=str, restriction_type="dict_key", restriction_arg={'calico': {}, 'flannel': {}, 'multus': {}},)), is_leaf=False, yang_name="cni", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='urn:etsi:osm:yang:augments:kdu', defining_module='kdu', yang_type='enumeration', is_config=True)

29192 self.__nets = YANGDynClass(base=YANGListType("id",yc_nets_etsi_nfv_vnfd__vnfd_k8s_cluster_nets, yang_name="nets", parent=self, is_container='list', user_ordered=False, path_helper=self._path_helper, yang_keys='id', extensions=None), is_container='list', yang_name="nets", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, extensions=None, namespace='urn:etsi:osm:yang:augments:kdu', defining_module='kdu', yang_type='list', is_config=True)

29193

29194 load = kwargs.pop("load", None)

29195 if args:

29196 if len(args) > 1:

29197 raise TypeError("cannot create a YANG container with >1 argument")

29198 all_attr = True

29199 for e in self._pyangbind_elements:

29200 if not hasattr(args[0], e):

29201 all_attr = False

29202 break

29203 if not all_attr:

29204 raise ValueError("Supplied object did not have the correct attributes")

29205 for e in self._pyangbind_elements:

29206 nobj = getattr(args[0], e)

29207 if nobj._changed() is False:

29208 continue

29209 setmethod = getattr(self, "_set_%s" % e)

29210 if load is None:

29211 setmethod(getattr(args[0], e))

29212 else:

29213 setmethod(getattr(args[0], e), load=load)

29214

29215 def _path(self):

29216 if hasattr(self, "_parent"):

29217 return self._parent._path()+[self._yang_name]

29218 else:

29219 return ['vnfd', 'k8s-cluster']

29220

29221 def _get_version(self):

29222 """

29223 Getter method for version, mapped from YANG variable /vnfd/k8s_cluster/version (string)

29224

29225 YANG Description: List of supported K8s versions.

29226 The cluster where the KDUs will be deployed will have to match

29227 one of these versions.

29228 """

29229 return self.__version

29230

29231 def _set_version(self, v, load=False):

29232 """

29233 Setter method for version, mapped from YANG variable /vnfd/k8s_cluster/version (string)

29234 If this variable is read-only (config: false) in the

29235 source YANG file, then _set_version is considered as a private

29236 method. Backends looking to populate this variable should

29237 do so via calling thisObj._set_version() directly.

29238

29239 YANG Description: List of supported K8s versions.

29240 The cluster where the KDUs will be deployed will have to match

29241 one of these versions.

29242 """

29243 if hasattr(v, "_utype"):

29244 v = v._utype(v)

29245 try:

29246 t = YANGDynClass(v,unique=True, base=TypedListType(allowed_type=str), is_leaf=False, yang_name="version", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='urn:etsi:osm:yang:augments:kdu', defining_module='kdu', yang_type='string', is_config=True)

29247 except (TypeError, ValueError):

29248 raise ValueError({

29249 'error-string': """version must be of a type compatible with string""",

29250 'defined-type': "string",

29251 'generated-type': """YANGDynClass(unique=True, base=TypedListType(allowed_type=str), is_leaf=False, yang_name="version", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='urn:etsi:osm:yang:augments:kdu', defining_module='kdu', yang_type='string', is_config=True)""",

29252 })

29253

29254 self.__version = t

29255 if hasattr(self, '_set'):

29256 self._set()

29257

29258 def _unset_version(self):

29259 self.__version = YANGDynClass(unique=True, base=TypedListType(allowed_type=str), is_leaf=False, yang_name="version", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='urn:etsi:osm:yang:augments:kdu', defining_module='kdu', yang_type='string', is_config=True)

29260

29261

29262 def _get_cni(self):

29263 """

29264 Getter method for cni, mapped from YANG variable /vnfd/k8s_cluster/cni (enumeration)

29265

29266 YANG Description: List of supported CNI plugins.

29267 The cluster where the KDUs will be deployed will have to use

29268 one of these CNI plugins.

29269 """

29270 return self.__cni

29271

29272 def _set_cni(self, v, load=False):

29273 """

29274 Setter method for cni, mapped from YANG variable /vnfd/k8s_cluster/cni (enumeration)

29275 If this variable is read-only (config: false) in the

29276 source YANG file, then _set_cni is considered as a private

29277 method. Backends looking to populate this variable should

29278 do so via calling thisObj._set_cni() directly.

29279

29280 YANG Description: List of supported CNI plugins.

29281 The cluster where the KDUs will be deployed will have to use

29282 one of these CNI plugins.

29283 """

29284 if hasattr(v, "_utype"):

29285 v = v._utype(v)

29286 try:

29287 t = YANGDynClass(v,unique=True, base=TypedListType(allowed_type=RestrictedClassType(base_type=str, restriction_type="dict_key", restriction_arg={'calico': {}, 'flannel': {}, 'multus': {}},)), is_leaf=False, yang_name="cni", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='urn:etsi:osm:yang:augments:kdu', defining_module='kdu', yang_type='enumeration', is_config=True)

29288 except (TypeError, ValueError):

29289 raise ValueError({

29290 'error-string': """cni must be of a type compatible with enumeration""",

29291 'defined-type': "kdu:enumeration",

29292 'generated-type': """YANGDynClass(unique=True, base=TypedListType(allowed_type=RestrictedClassType(base_type=str, restriction_type="dict_key", restriction_arg={'calico': {}, 'flannel': {}, 'multus': {}},)), is_leaf=False, yang_name="cni", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='urn:etsi:osm:yang:augments:kdu', defining_module='kdu', yang_type='enumeration', is_config=True)""",

29293 })

29294

29295 self.__cni = t

29296 if hasattr(self, '_set'):

29297 self._set()

29298

29299 def _unset_cni(self):

29300 self.__cni = YANGDynClass(unique=True, base=TypedListType(allowed_type=RestrictedClassType(base_type=str, restriction_type="dict_key", restriction_arg={'calico': {}, 'flannel': {}, 'multus': {}},)), is_leaf=False, yang_name="cni", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='urn:etsi:osm:yang:augments:kdu', defining_module='kdu', yang_type='enumeration', is_config=True)

29301

29302

29303 def _get_nets(self):

29304 """

29305 Getter method for nets, mapped from YANG variable /vnfd/k8s_cluster/nets (list)

29306

29307 YANG Description: List of required networks in the K8s cluster.

29308 The cluster where the KDUs will be deployed will have to use

29309 one of these CNI plugins.

29310 """

29311 return self.__nets

29312

29313 def _set_nets(self, v, load=False):

29314 """

29315 Setter method for nets, mapped from YANG variable /vnfd/k8s_cluster/nets (list)

29316 If this variable is read-only (config: false) in the

29317 source YANG file, then _set_nets is considered as a private

29318 method. Backends looking to populate this variable should

29319 do so via calling thisObj._set_nets() directly.

29320

29321 YANG Description: List of required networks in the K8s cluster.

29322 The cluster where the KDUs will be deployed will have to use

29323 one of these CNI plugins.

29324 """

29325 if hasattr(v, "_utype"):

29326 v = v._utype(v)

29327 try:

29328 t = YANGDynClass(v,base=YANGListType("id",yc_nets_etsi_nfv_vnfd__vnfd_k8s_cluster_nets, yang_name="nets", parent=self, is_container='list', user_ordered=False, path_helper=self._path_helper, yang_keys='id', extensions=None), is_container='list', yang_name="nets", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, extensions=None, namespace='urn:etsi:osm:yang:augments:kdu', defining_module='kdu', yang_type='list', is_config=True)

29329 except (TypeError, ValueError):

29330 raise ValueError({

29331 'error-string': """nets must be of a type compatible with list""",

29332 'defined-type': "list",

29333 'generated-type': """YANGDynClass(base=YANGListType("id",yc_nets_etsi_nfv_vnfd__vnfd_k8s_cluster_nets, yang_name="nets", parent=self, is_container='list', user_ordered=False, path_helper=self._path_helper, yang_keys='id', extensions=None), is_container='list', yang_name="nets", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, extensions=None, namespace='urn:etsi:osm:yang:augments:kdu', defining_module='kdu', yang_type='list', is_config=True)""",

29334 })

29335

29336 self.__nets = t

29337 if hasattr(self, '_set'):

29338 self._set()

29339

29340 def _unset_nets(self):

29341 self.__nets = YANGDynClass(base=YANGListType("id",yc_nets_etsi_nfv_vnfd__vnfd_k8s_cluster_nets, yang_name="nets", parent=self, is_container='list', user_ordered=False, path_helper=self._path_helper, yang_keys='id', extensions=None), is_container='list', yang_name="nets", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, extensions=None, namespace='urn:etsi:osm:yang:augments:kdu', defining_module='kdu', yang_type='list', is_config=True)

29342

29343 version = __builtin__.property(_get_version, _set_version)

29344 cni = __builtin__.property(_get_cni, _set_cni)

29345 nets = __builtin__.property(_get_nets, _set_nets)

29346

29347

29348 _pyangbind_elements = OrderedDict([('version', version), ('cni', cni), ('nets', nets), ])

29349

29350

29351 class yc_paired_interfaces_etsi_nfv_vnfd__vnfd_vip_paired_interfaces(PybindBase):

29352 """

29353 This class was auto-generated by the PythonClass plugin for PYANG

29354 from YANG module etsi-nfv-vnfd - based on the path /vnfd/vip/paired-interfaces. Each member element of

29355 the container is represented as a class variable - with a specific

29356 YANG type.

29357 """

29358 __slots__ = ('_path_helper', '_extmethods', '__vdu_id_ref','__interface_ref',)

29359

29360 _yang_name = 'paired-interfaces'

29361 _yang_namespace = 'urn:etsi:nfv:yang:etsi-nfv-vnfd'

29362

29363 _pybind_generated_by = 'container'

29364

29365 def __init__(self, *args, **kwargs):

29366

29367 self._path_helper = False

29368

29369 self._extmethods = False

29370 self.__vdu_id_ref = YANGDynClass(base=str, is_leaf=True, yang_name="vdu-id-ref", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, is_keyval=True, namespace='urn:etsi:osm:yang:augments:vip', defining_module='vip', yang_type='leafref', is_config=True)

29371 self.__interface_ref = YANGDynClass(base=str, is_leaf=True, yang_name="interface-ref", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='urn:etsi:osm:yang:augments:vip', defining_module='vip', yang_type='leafref', is_config=True)

29372

29373 load = kwargs.pop("load", None)

29374 if args:

29375 if len(args) > 1:

29376 raise TypeError("cannot create a YANG container with >1 argument")

29377 all_attr = True

29378 for e in self._pyangbind_elements:

29379 if not hasattr(args[0], e):

29380 all_attr = False

29381 break

29382 if not all_attr:

29383 raise ValueError("Supplied object did not have the correct attributes")

29384 for e in self._pyangbind_elements:

29385 nobj = getattr(args[0], e)

29386 if nobj._changed() is False:

29387 continue

29388 setmethod = getattr(self, "_set_%s" % e)

29389 if load is None:

29390 setmethod(getattr(args[0], e))

29391 else:

29392 setmethod(getattr(args[0], e), load=load)

29393

29394 def _path(self):

29395 if hasattr(self, "_parent"):

29396 return self._parent._path()+[self._yang_name]

29397 else:

29398 return ['vnfd', 'vip', 'paired-interfaces']

29399

29400 def _get_vdu_id_ref(self):

29401 """

29402 Getter method for vdu_id_ref, mapped from YANG variable /vnfd/vip/paired_interfaces/vdu_id_ref (leafref)

29403

29404 YANG Description: Reference to the VDU

29405 """

29406 return self.__vdu_id_ref

29407

29408 def _set_vdu_id_ref(self, v, load=False):

29409 """

29410 Setter method for vdu_id_ref, mapped from YANG variable /vnfd/vip/paired_interfaces/vdu_id_ref (leafref)

29411 If this variable is read-only (config: false) in the

29412 source YANG file, then _set_vdu_id_ref is considered as a private

29413 method. Backends looking to populate this variable should

29414 do so via calling thisObj._set_vdu_id_ref() directly.

29415

29416 YANG Description: Reference to the VDU

29417 """

29418 parent = getattr(self, "_parent", None)

29419 if parent is not None and load is False:

29420 raise AttributeError("Cannot set keys directly when" +

29421 " within an instantiated list")

29422

29423 if hasattr(v, "_utype"):

29424 v = v._utype(v)

29425 try:

29426 t = YANGDynClass(v,base=str, is_leaf=True, yang_name="vdu-id-ref", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, is_keyval=True, namespace='urn:etsi:osm:yang:augments:vip', defining_module='vip', yang_type='leafref', is_config=True)

29427 except (TypeError, ValueError):

29428 raise ValueError({

29429 'error-string': """vdu_id_ref must be of a type compatible with leafref""",

29430 'defined-type': "leafref",

29431 'generated-type': """YANGDynClass(base=str, is_leaf=True, yang_name="vdu-id-ref", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, is_keyval=True, namespace='urn:etsi:osm:yang:augments:vip', defining_module='vip', yang_type='leafref', is_config=True)""",

29432 })

29433

29434 self.__vdu_id_ref = t

29435 if hasattr(self, '_set'):

29436 self._set()

29437

29438 def _unset_vdu_id_ref(self):

29439 self.__vdu_id_ref = YANGDynClass(base=str, is_leaf=True, yang_name="vdu-id-ref", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, is_keyval=True, namespace='urn:etsi:osm:yang:augments:vip', defining_module='vip', yang_type='leafref', is_config=True)

29440

29441

29442 def _get_interface_ref(self):

29443 """

29444 Getter method for interface_ref, mapped from YANG variable /vnfd/vip/paired_interfaces/interface_ref (leafref)

29445

29446 YANG Description: Reference to the interface

29447 """

29448 return self.__interface_ref

29449

29450 def _set_interface_ref(self, v, load=False):

29451 """

29452 Setter method for interface_ref, mapped from YANG variable /vnfd/vip/paired_interfaces/interface_ref (leafref)

29453 If this variable is read-only (config: false) in the

29454 source YANG file, then _set_interface_ref is considered as a private

29455 method. Backends looking to populate this variable should

29456 do so via calling thisObj._set_interface_ref() directly.

29457

29458 YANG Description: Reference to the interface

29459 """

29460 if hasattr(v, "_utype"):

29461 v = v._utype(v)

29462 try:

29463 t = YANGDynClass(v,base=str, is_leaf=True, yang_name="interface-ref", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='urn:etsi:osm:yang:augments:vip', defining_module='vip', yang_type='leafref', is_config=True)

29464 except (TypeError, ValueError):

29465 raise ValueError({

29466 'error-string': """interface_ref must be of a type compatible with leafref""",

29467 'defined-type': "leafref",

29468 'generated-type': """YANGDynClass(base=str, is_leaf=True, yang_name="interface-ref", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='urn:etsi:osm:yang:augments:vip', defining_module='vip', yang_type='leafref', is_config=True)""",

29469 })

29470

29471 self.__interface_ref = t

29472 if hasattr(self, '_set'):

29473 self._set()

29474

29475 def _unset_interface_ref(self):

29476 self.__interface_ref = YANGDynClass(base=str, is_leaf=True, yang_name="interface-ref", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='urn:etsi:osm:yang:augments:vip', defining_module='vip', yang_type='leafref', is_config=True)

29477

29478 vdu_id_ref = __builtin__.property(_get_vdu_id_ref, _set_vdu_id_ref)

29479 interface_ref = __builtin__.property(_get_interface_ref, _set_interface_ref)

29480

29481

29482 _pyangbind_elements = OrderedDict([('vdu_id_ref', vdu_id_ref), ('interface_ref', interface_ref), ])

29483

29484

29485 class yc_vip_etsi_nfv_vnfd__vnfd_vip(PybindBase):

29486 """

29487 This class was auto-generated by the PythonClass plugin for PYANG

29488 from YANG module etsi-nfv-vnfd - based on the path /vnfd/vip. Each member element of

29489 the container is represented as a class variable - with a specific

29490 YANG type.

29491

29492 YANG Description: Paired interfaces from different VDUs that share a Virtual IP

29493 """

29494 __slots__ = ('_path_helper', '_extmethods', '__name','__paired_interfaces',)

29495

29496 _yang_name = 'vip'

29497 _yang_namespace = 'urn:etsi:nfv:yang:etsi-nfv-vnfd'

29498

29499 _pybind_generated_by = 'container'

29500

29501 def __init__(self, *args, **kwargs):

29502

29503 self._path_helper = False

29504

29505 self._extmethods = False

29506 self.__name = YANGDynClass(base=str, is_leaf=True, yang_name="name", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, is_keyval=True, namespace='urn:etsi:osm:yang:augments:vip', defining_module='vip', yang_type='string', is_config=True)

29507 self.__paired_interfaces = YANGDynClass(base=YANGListType("vdu_id_ref",yc_paired_interfaces_etsi_nfv_vnfd__vnfd_vip_paired_interfaces, yang_name="paired-interfaces", parent=self, is_container='list', user_ordered=False, path_helper=self._path_helper, yang_keys='vdu-id-ref', extensions=None), is_container='list', yang_name="paired-interfaces", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, extensions=None, namespace='urn:etsi:osm:yang:augments:vip', defining_module='vip', yang_type='list', is_config=True)

29508

29509 load = kwargs.pop("load", None)

29510 if args:

29511 if len(args) > 1:

29512 raise TypeError("cannot create a YANG container with >1 argument")

29513 all_attr = True

29514 for e in self._pyangbind_elements:

29515 if not hasattr(args[0], e):

29516 all_attr = False

29517 break

29518 if not all_attr:

29519 raise ValueError("Supplied object did not have the correct attributes")

29520 for e in self._pyangbind_elements:

29521 nobj = getattr(args[0], e)

29522 if nobj._changed() is False:

29523 continue

29524 setmethod = getattr(self, "_set_%s" % e)

29525 if load is None:

29526 setmethod(getattr(args[0], e))

29527 else:

29528 setmethod(getattr(args[0], e), load=load)

29529

29530 def _path(self):

29531 if hasattr(self, "_parent"):

29532 return self._parent._path()+[self._yang_name]

29533 else:

29534 return ['vnfd', 'vip']

29535

29536 def _get_name(self):

29537 """

29538 Getter method for name, mapped from YANG variable /vnfd/vip/name (string)

29539

29540 YANG Description: Name of the Virtual IP

29541 """

29542 return self.__name

29543

29544 def _set_name(self, v, load=False):

29545 """

29546 Setter method for name, mapped from YANG variable /vnfd/vip/name (string)

29547 If this variable is read-only (config: false) in the

29548 source YANG file, then _set_name is considered as a private

29549 method. Backends looking to populate this variable should

29550 do so via calling thisObj._set_name() directly.

29551

29552 YANG Description: Name of the Virtual IP

29553 """

29554 parent = getattr(self, "_parent", None)

29555 if parent is not None and load is False:

29556 raise AttributeError("Cannot set keys directly when" +

29557 " within an instantiated list")

29558

29559 if hasattr(v, "_utype"):

29560 v = v._utype(v)

29561 try:

29562 t = YANGDynClass(v,base=str, is_leaf=True, yang_name="name", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, is_keyval=True, namespace='urn:etsi:osm:yang:augments:vip', defining_module='vip', yang_type='string', is_config=True)

29563 except (TypeError, ValueError):

29564 raise ValueError({

29565 'error-string': """name must be of a type compatible with string""",

29566 'defined-type': "string",

29567 'generated-type': """YANGDynClass(base=str, is_leaf=True, yang_name="name", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, is_keyval=True, namespace='urn:etsi:osm:yang:augments:vip', defining_module='vip', yang_type='string', is_config=True)""",

29568 })

29569

29570 self.__name = t

29571 if hasattr(self, '_set'):

29572 self._set()

29573

29574 def _unset_name(self):

29575 self.__name = YANGDynClass(base=str, is_leaf=True, yang_name="name", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, is_keyval=True, namespace='urn:etsi:osm:yang:augments:vip', defining_module='vip', yang_type='string', is_config=True)

29576

29577

29578 def _get_paired_interfaces(self):

29579 """

29580 Getter method for paired_interfaces, mapped from YANG variable /vnfd/vip/paired_interfaces (list)

29581 """

29582 return self.__paired_interfaces

29583

29584 def _set_paired_interfaces(self, v, load=False):

29585 """

29586 Setter method for paired_interfaces, mapped from YANG variable /vnfd/vip/paired_interfaces (list)

29587 If this variable is read-only (config: false) in the

29588 source YANG file, then _set_paired_interfaces is considered as a private

29589 method. Backends looking to populate this variable should

29590 do so via calling thisObj._set_paired_interfaces() directly.

29591 """

29592 if hasattr(v, "_utype"):

29593 v = v._utype(v)

29594 try:

29595 t = YANGDynClass(v,base=YANGListType("vdu_id_ref",yc_paired_interfaces_etsi_nfv_vnfd__vnfd_vip_paired_interfaces, yang_name="paired-interfaces", parent=self, is_container='list', user_ordered=False, path_helper=self._path_helper, yang_keys='vdu-id-ref', extensions=None), is_container='list', yang_name="paired-interfaces", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, extensions=None, namespace='urn:etsi:osm:yang:augments:vip', defining_module='vip', yang_type='list', is_config=True)

29596 except (TypeError, ValueError):

29597 raise ValueError({

29598 'error-string': """paired_interfaces must be of a type compatible with list""",

29599 'defined-type': "list",

29600 'generated-type': """YANGDynClass(base=YANGListType("vdu_id_ref",yc_paired_interfaces_etsi_nfv_vnfd__vnfd_vip_paired_interfaces, yang_name="paired-interfaces", parent=self, is_container='list', user_ordered=False, path_helper=self._path_helper, yang_keys='vdu-id-ref', extensions=None), is_container='list', yang_name="paired-interfaces", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, extensions=None, namespace='urn:etsi:osm:yang:augments:vip', defining_module='vip', yang_type='list', is_config=True)""",

29601 })

29602

29603 self.__paired_interfaces = t

29604 if hasattr(self, '_set'):

29605 self._set()

29606

29607 def _unset_paired_interfaces(self):

29608 self.__paired_interfaces = YANGDynClass(base=YANGListType("vdu_id_ref",yc_paired_interfaces_etsi_nfv_vnfd__vnfd_vip_paired_interfaces, yang_name="paired-interfaces", parent=self, is_container='list', user_ordered=False, path_helper=self._path_helper, yang_keys='vdu-id-ref', extensions=None), is_container='list', yang_name="paired-interfaces", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, extensions=None, namespace='urn:etsi:osm:yang:augments:vip', defining_module='vip', yang_type='list', is_config=True)

29609

29610 name = __builtin__.property(_get_name, _set_name)

29611 paired_interfaces = __builtin__.property(_get_paired_interfaces, _set_paired_interfaces)

29612

29613

29614 _pyangbind_elements = OrderedDict([('name', name), ('paired_interfaces', paired_interfaces), ])

29615

29616

29617 class yc_vnfd_etsi_nfv_vnfd__vnfd(PybindBase):

29618 """

29619 This class was auto-generated by the PythonClass plugin for PYANG

29620 from YANG module etsi-nfv-vnfd - based on the path /vnfd. Each member element of

29621 the container is represented as a class variable - with a specific

29622 YANG type.

29623 """

29624 __slots__ = ('_path_helper', '_extmethods', '__id','__provider','__product_name','__software_version','__version','__product_info_name','__product_info_description','__vnfm_info','__localization_language','__default_localization_language','__vdu','__virtual_compute_desc','__virtual_storage_desc','__sw_image_desc','__int_virtual_link_desc','__security_group_rule','__ext_cpd','__df','__configurable_properties','__modifiable_attributes','__lifecycle_management_script','__element_group','__indicator','__auto_scale','__description','__kdu','__k8s_cluster','__mgmt_cp','__vip',)

29625

29626 _yang_name = 'vnfd'

29627 _yang_namespace = 'urn:etsi:nfv:yang:etsi-nfv-vnfd'

29628

29629 _pybind_generated_by = 'container'

29630

29631 def __init__(self, *args, **kwargs):

29632

29633 self._path_helper = False

29634

29635 self._extmethods = False

29636 self.__id = YANGDynClass(base=str, is_leaf=True, yang_name="id", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='urn:etsi:nfv:yang:etsi-nfv-vnfd', defining_module='etsi-nfv-vnfd', yang_type='string', is_config=True)

29637 self.__provider = YANGDynClass(base=str, is_leaf=True, yang_name="provider", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='urn:etsi:nfv:yang:etsi-nfv-vnfd', defining_module='etsi-nfv-vnfd', yang_type='string', is_config=True)

29638 self.__product_name = YANGDynClass(base=str, is_leaf=True, yang_name="product-name", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='urn:etsi:nfv:yang:etsi-nfv-vnfd', defining_module='etsi-nfv-vnfd', yang_type='string', is_config=True)

29639 self.__software_version = YANGDynClass(base=str, is_leaf=True, yang_name="software-version", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='urn:etsi:nfv:yang:etsi-nfv-vnfd', defining_module='etsi-nfv-vnfd', yang_type='string', is_config=True)

29640 self.__version = YANGDynClass(base=str, is_leaf=True, yang_name="version", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='urn:etsi:nfv:yang:etsi-nfv-vnfd', defining_module='etsi-nfv-vnfd', yang_type='string', is_config=True)

29641 self.__product_info_name = YANGDynClass(base=str, is_leaf=True, yang_name="product-info-name", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='urn:etsi:nfv:yang:etsi-nfv-vnfd', defining_module='etsi-nfv-vnfd', yang_type='string', is_config=True)

29642 self.__product_info_description = YANGDynClass(base=str, is_leaf=True, yang_name="product-info-description", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='urn:etsi:nfv:yang:etsi-nfv-vnfd', defining_module='etsi-nfv-vnfd', yang_type='string', is_config=True)

29643 self.__vnfm_info = YANGDynClass(unique=True, base=TypedListType(allowed_type=str), is_leaf=False, yang_name="vnfm-info", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='urn:etsi:nfv:yang:etsi-nfv-vnfd', defining_module='etsi-nfv-vnfd', yang_type='string', is_config=True)

29644 self.__localization_language = YANGDynClass(base=str, is_leaf=True, yang_name="localization-language", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='urn:etsi:nfv:yang:etsi-nfv-vnfd', defining_module='etsi-nfv-vnfd', yang_type='string', is_config=True)

29645 self.__default_localization_language = YANGDynClass(base=str, is_leaf=True, yang_name="default-localization-language", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='urn:etsi:nfv:yang:etsi-nfv-vnfd', defining_module='etsi-nfv-vnfd', yang_type='string', is_config=True)

29646 self.__vdu = YANGDynClass(base=YANGListType("id",yc_vdu_etsi_nfv_vnfd__vnfd_vdu, yang_name="vdu", parent=self, is_container='list', user_ordered=False, path_helper=self._path_helper, yang_keys='id', extensions=None), is_container='list', yang_name="vdu", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, extensions=None, namespace='urn:etsi:nfv:yang:etsi-nfv-vnfd', defining_module='etsi-nfv-vnfd', yang_type='list', is_config=True)

29647 self.__virtual_compute_desc = YANGDynClass(base=YANGListType("id",yc_virtual_compute_desc_etsi_nfv_vnfd__vnfd_virtual_compute_desc, yang_name="virtual-compute-desc", parent=self, is_container='list', user_ordered=False, path_helper=self._path_helper, yang_keys='id', extensions=None), is_container='list', yang_name="virtual-compute-desc", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, extensions=None, namespace='urn:etsi:nfv:yang:etsi-nfv-vnfd', defining_module='etsi-nfv-vnfd', yang_type='list', is_config=True)

29648 self.__virtual_storage_desc = YANGDynClass(base=YANGListType("id",yc_virtual_storage_desc_etsi_nfv_vnfd__vnfd_virtual_storage_desc, yang_name="virtual-storage-desc", parent=self, is_container='list', user_ordered=False, path_helper=self._path_helper, yang_keys='id', extensions=None), is_container='list', yang_name="virtual-storage-desc", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, extensions=None, namespace='urn:etsi:nfv:yang:etsi-nfv-vnfd', defining_module='etsi-nfv-vnfd', yang_type='list', is_config=True)

29649 self.__sw_image_desc = YANGDynClass(base=YANGListType("id",yc_sw_image_desc_etsi_nfv_vnfd__vnfd_sw_image_desc, yang_name="sw-image-desc", parent=self, is_container='list', user_ordered=False, path_helper=self._path_helper, yang_keys='id', extensions=None), is_container='list', yang_name="sw-image-desc", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, extensions=None, namespace='urn:etsi:nfv:yang:etsi-nfv-vnfd', defining_module='etsi-nfv-vnfd', yang_type='list', is_config=True)

29650 self.__int_virtual_link_desc = YANGDynClass(base=YANGListType("id",yc_int_virtual_link_desc_etsi_nfv_vnfd__vnfd_int_virtual_link_desc, yang_name="int-virtual-link-desc", parent=self, is_container='list', user_ordered=False, path_helper=self._path_helper, yang_keys='id', extensions=None), is_container='list', yang_name="int-virtual-link-desc", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, extensions=None, namespace='urn:etsi:nfv:yang:etsi-nfv-vnfd', defining_module='etsi-nfv-vnfd', yang_type='list', is_config=True)

29651 self.__security_group_rule = YANGDynClass(base=YANGListType("id",yc_security_group_rule_etsi_nfv_vnfd__vnfd_security_group_rule, yang_name="security-group-rule", parent=self, is_container='list', user_ordered=False, path_helper=self._path_helper, yang_keys='id', extensions=None), is_container='list', yang_name="security-group-rule", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, extensions=None, namespace='urn:etsi:nfv:yang:etsi-nfv-vnfd', defining_module='etsi-nfv-vnfd', yang_type='list', is_config=True)

29652 self.__ext_cpd = YANGDynClass(base=YANGListType("id",yc_ext_cpd_etsi_nfv_vnfd__vnfd_ext_cpd, yang_name="ext-cpd", parent=self, is_container='list', user_ordered=False, path_helper=self._path_helper, yang_keys='id', extensions=None), is_container='list', yang_name="ext-cpd", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, extensions=None, namespace='urn:etsi:nfv:yang:etsi-nfv-vnfd', defining_module='etsi-nfv-vnfd', yang_type='list', is_config=True)

29653 self.__df = YANGDynClass(base=YANGListType("id",yc_df_etsi_nfv_vnfd__vnfd_df, yang_name="df", parent=self, is_container='list', user_ordered=False, path_helper=self._path_helper, yang_keys='id', extensions=None), is_container='list', yang_name="df", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, extensions=None, namespace='urn:etsi:nfv:yang:etsi-nfv-vnfd', defining_module='etsi-nfv-vnfd', yang_type='list', is_config=True)

29654 self.__configurable_properties = YANGDynClass(base=yc_configurable_properties_etsi_nfv_vnfd__vnfd_configurable_properties, is_container='container', yang_name="configurable-properties", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, extensions=None, namespace='urn:etsi:nfv:yang:etsi-nfv-vnfd', defining_module='etsi-nfv-vnfd', yang_type='container', is_config=True)

29655 self.__modifiable_attributes = YANGDynClass(base=yc_modifiable_attributes_etsi_nfv_vnfd__vnfd_modifiable_attributes, is_container='container', yang_name="modifiable-attributes", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, extensions=None, namespace='urn:etsi:nfv:yang:etsi-nfv-vnfd', defining_module='etsi-nfv-vnfd', yang_type='container', is_config=True)

29656 self.__lifecycle_management_script = YANGDynClass(base=YANGListType("id",yc_lifecycle_management_script_etsi_nfv_vnfd__vnfd_lifecycle_management_script, yang_name="lifecycle-management-script", parent=self, is_container='list', user_ordered=False, path_helper=self._path_helper, yang_keys='id', extensions=None), is_container='list', yang_name="lifecycle-management-script", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, extensions=None, namespace='urn:etsi:nfv:yang:etsi-nfv-vnfd', defining_module='etsi-nfv-vnfd', yang_type='list', is_config=True)

29657 self.__element_group = YANGDynClass(base=YANGListType("id",yc_element_group_etsi_nfv_vnfd__vnfd_element_group, yang_name="element-group", parent=self, is_container='list', user_ordered=False, path_helper=self._path_helper, yang_keys='id', extensions=None), is_container='list', yang_name="element-group", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, extensions=None, namespace='urn:etsi:nfv:yang:etsi-nfv-vnfd', defining_module='etsi-nfv-vnfd', yang_type='list', is_config=True)

29658 self.__indicator = YANGDynClass(base=YANGListType("id",yc_indicator_etsi_nfv_vnfd__vnfd_indicator, yang_name="indicator", parent=self, is_container='list', user_ordered=False, path_helper=self._path_helper, yang_keys='id', extensions=None), is_container='list', yang_name="indicator", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, extensions=None, namespace='urn:etsi:nfv:yang:etsi-nfv-vnfd', defining_module='etsi-nfv-vnfd', yang_type='list', is_config=True)

29659 self.__auto_scale = YANGDynClass(unique=True, base=TypedListType(allowed_type=str), is_leaf=False, yang_name="auto-scale", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='urn:etsi:nfv:yang:etsi-nfv-vnfd', defining_module='etsi-nfv-vnfd', yang_type='string', is_config=True)

29660 self.__description = YANGDynClass(base=str, is_leaf=True, yang_name="description", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='urn:etsi:osm:yang:augments:additional-info', defining_module='additional-info', yang_type='string', is_config=True)

29661 self.__kdu = YANGDynClass(base=YANGListType("name",yc_kdu_etsi_nfv_vnfd__vnfd_kdu, yang_name="kdu", parent=self, is_container='list', user_ordered=False, path_helper=self._path_helper, yang_keys='name', extensions=None), is_container='list', yang_name="kdu", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, extensions=None, namespace='urn:etsi:osm:yang:augments:kdu', defining_module='kdu', yang_type='list', is_config=True)

29662 self.__k8s_cluster = YANGDynClass(base=yc_k8s_cluster_etsi_nfv_vnfd__vnfd_k8s_cluster, is_container='container', yang_name="k8s-cluster", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, extensions=None, namespace='urn:etsi:osm:yang:augments:kdu', defining_module='kdu', yang_type='container', is_config=True)

29663 self.__mgmt_cp = YANGDynClass(base=str, is_leaf=True, yang_name="mgmt-cp", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='urn:etsi:osm:yang:augments:mgmt-interface', defining_module='mgmt-interface', yang_type='leafref', is_config=True)

29664 self.__vip = YANGDynClass(base=YANGListType("name",yc_vip_etsi_nfv_vnfd__vnfd_vip, yang_name="vip", parent=self, is_container='list', user_ordered=False, path_helper=self._path_helper, yang_keys='name', extensions=None), is_container='list', yang_name="vip", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, extensions=None, namespace='urn:etsi:osm:yang:augments:vip', defining_module='vip', yang_type='list', is_config=True)

29665

29666 load = kwargs.pop("load", None)

29667 if args:

29668 if len(args) > 1:

29669 raise TypeError("cannot create a YANG container with >1 argument")

29670 all_attr = True

29671 for e in self._pyangbind_elements:

29672 if not hasattr(args[0], e):

29673 all_attr = False

29674 break

29675 if not all_attr:

29676 raise ValueError("Supplied object did not have the correct attributes")

29677 for e in self._pyangbind_elements:

29678 nobj = getattr(args[0], e)

29679 if nobj._changed() is False:

29680 continue

29681 setmethod = getattr(self, "_set_%s" % e)

29682 if load is None:

29683 setmethod(getattr(args[0], e))

29684 else:

29685 setmethod(getattr(args[0], e), load=load)

29686

29687 def _path(self):

29688 if hasattr(self, "_parent"):

29689 return self._parent._path()+[self._yang_name]

29690 else:

29691 return ['vnfd']

29692

29693 def _get_id(self):

29694 """

29695 Getter method for id, mapped from YANG variable /vnfd/id (string)

29696

29697 YANG Description: Identifier of this VNFD information element. This attribute

29698 shall be globally unique. The format will be defined in the

29699 data model specification phase.

29700 """

29701 return self.__id

29702

29703 def _set_id(self, v, load=False):

29704 """

29705 Setter method for id, mapped from YANG variable /vnfd/id (string)

29706 If this variable is read-only (config: false) in the

29707 source YANG file, then _set_id is considered as a private

29708 method. Backends looking to populate this variable should

29709 do so via calling thisObj._set_id() directly.

29710

29711 YANG Description: Identifier of this VNFD information element. This attribute

29712 shall be globally unique. The format will be defined in the

29713 data model specification phase.

29714 """

29715 if hasattr(v, "_utype"):

29716 v = v._utype(v)

29717 try:

29718 t = YANGDynClass(v,base=str, is_leaf=True, yang_name="id", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='urn:etsi:nfv:yang:etsi-nfv-vnfd', defining_module='etsi-nfv-vnfd', yang_type='string', is_config=True)

29719 except (TypeError, ValueError):

29720 raise ValueError({

29721 'error-string': """id must be of a type compatible with string""",

29722 'defined-type': "string",

29723 'generated-type': """YANGDynClass(base=str, is_leaf=True, yang_name="id", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='urn:etsi:nfv:yang:etsi-nfv-vnfd', defining_module='etsi-nfv-vnfd', yang_type='string', is_config=True)""",

29724 })

29725

29726 self.__id = t

29727 if hasattr(self, '_set'):

29728 self._set()

29729

29730 def _unset_id(self):

29731 self.__id = YANGDynClass(base=str, is_leaf=True, yang_name="id", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='urn:etsi:nfv:yang:etsi-nfv-vnfd', defining_module='etsi-nfv-vnfd', yang_type='string', is_config=True)

29732

29733

29734 def _get_provider(self):

29735 """

29736 Getter method for provider, mapped from YANG variable /vnfd/provider (string)

29737

29738 YANG Description: Provider of the VNF and of the VNFD

29739 """

29740 return self.__provider

29741

29742 def _set_provider(self, v, load=False):

29743 """

29744 Setter method for provider, mapped from YANG variable /vnfd/provider (string)

29745 If this variable is read-only (config: false) in the

29746 source YANG file, then _set_provider is considered as a private

29747 method. Backends looking to populate this variable should

29748 do so via calling thisObj._set_provider() directly.

29749

29750 YANG Description: Provider of the VNF and of the VNFD

29751 """

29752 if hasattr(v, "_utype"):

29753 v = v._utype(v)

29754 try:

29755 t = YANGDynClass(v,base=str, is_leaf=True, yang_name="provider", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='urn:etsi:nfv:yang:etsi-nfv-vnfd', defining_module='etsi-nfv-vnfd', yang_type='string', is_config=True)

29756 except (TypeError, ValueError):

29757 raise ValueError({

29758 'error-string': """provider must be of a type compatible with string""",

29759 'defined-type': "string",

29760 'generated-type': """YANGDynClass(base=str, is_leaf=True, yang_name="provider", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='urn:etsi:nfv:yang:etsi-nfv-vnfd', defining_module='etsi-nfv-vnfd', yang_type='string', is_config=True)""",

29761 })

29762

29763 self.__provider = t

29764 if hasattr(self, '_set'):

29765 self._set()

29766

29767 def _unset_provider(self):

29768 self.__provider = YANGDynClass(base=str, is_leaf=True, yang_name="provider", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='urn:etsi:nfv:yang:etsi-nfv-vnfd', defining_module='etsi-nfv-vnfd', yang_type='string', is_config=True)

29769

29770

29771 def _get_product_name(self):

29772 """

29773 Getter method for product_name, mapped from YANG variable /vnfd/product_name (string)

29774

29775 YANG Description: Name to identify the VNF Product. Invariant for the VNF

29776 Product lifetime.

29777 """

29778 return self.__product_name

29779

29780 def _set_product_name(self, v, load=False):

29781 """

29782 Setter method for product_name, mapped from YANG variable /vnfd/product_name (string)

29783 If this variable is read-only (config: false) in the

29784 source YANG file, then _set_product_name is considered as a private

29785 method. Backends looking to populate this variable should

29786 do so via calling thisObj._set_product_name() directly.

29787

29788 YANG Description: Name to identify the VNF Product. Invariant for the VNF

29789 Product lifetime.

29790 """

29791 if hasattr(v, "_utype"):

29792 v = v._utype(v)

29793 try:

29794 t = YANGDynClass(v,base=str, is_leaf=True, yang_name="product-name", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='urn:etsi:nfv:yang:etsi-nfv-vnfd', defining_module='etsi-nfv-vnfd', yang_type='string', is_config=True)

29795 except (TypeError, ValueError):

29796 raise ValueError({

29797 'error-string': """product_name must be of a type compatible with string""",

29798 'defined-type': "string",

29799 'generated-type': """YANGDynClass(base=str, is_leaf=True, yang_name="product-name", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='urn:etsi:nfv:yang:etsi-nfv-vnfd', defining_module='etsi-nfv-vnfd', yang_type='string', is_config=True)""",

29800 })

29801

29802 self.__product_name = t

29803 if hasattr(self, '_set'):

29804 self._set()

29805

29806 def _unset_product_name(self):

29807 self.__product_name = YANGDynClass(base=str, is_leaf=True, yang_name="product-name", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='urn:etsi:nfv:yang:etsi-nfv-vnfd', defining_module='etsi-nfv-vnfd', yang_type='string', is_config=True)

29808

29809

29810 def _get_software_version(self):

29811 """

29812 Getter method for software_version, mapped from YANG variable /vnfd/software_version (string)

29813

29814 YANG Description: Software version of the VNF. This is changed when there is

29815 any change to the software that is included in the VNF

29816 Package

29817 """

29818 return self.__software_version

29819

29820 def _set_software_version(self, v, load=False):

29821 """

29822 Setter method for software_version, mapped from YANG variable /vnfd/software_version (string)

29823 If this variable is read-only (config: false) in the

29824 source YANG file, then _set_software_version is considered as a private

29825 method. Backends looking to populate this variable should

29826 do so via calling thisObj._set_software_version() directly.

29827

29828 YANG Description: Software version of the VNF. This is changed when there is

29829 any change to the software that is included in the VNF

29830 Package

29831 """

29832 if hasattr(v, "_utype"):

29833 v = v._utype(v)

29834 try:

29835 t = YANGDynClass(v,base=str, is_leaf=True, yang_name="software-version", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='urn:etsi:nfv:yang:etsi-nfv-vnfd', defining_module='etsi-nfv-vnfd', yang_type='string', is_config=True)

29836 except (TypeError, ValueError):

29837 raise ValueError({

29838 'error-string': """software_version must be of a type compatible with string""",

29839 'defined-type': "string",

29840 'generated-type': """YANGDynClass(base=str, is_leaf=True, yang_name="software-version", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='urn:etsi:nfv:yang:etsi-nfv-vnfd', defining_module='etsi-nfv-vnfd', yang_type='string', is_config=True)""",

29841 })

29842

29843 self.__software_version = t

29844 if hasattr(self, '_set'):

29845 self._set()

29846

29847 def _unset_software_version(self):

29848 self.__software_version = YANGDynClass(base=str, is_leaf=True, yang_name="software-version", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='urn:etsi:nfv:yang:etsi-nfv-vnfd', defining_module='etsi-nfv-vnfd', yang_type='string', is_config=True)

29849

29850

29851 def _get_version(self):

29852 """

29853 Getter method for version, mapped from YANG variable /vnfd/version (string)

29854

29855 YANG Description: Identifies the version of the VNFD

29856 """

29857 return self.__version

29858

29859 def _set_version(self, v, load=False):

29860 """

29861 Setter method for version, mapped from YANG variable /vnfd/version (string)

29862 If this variable is read-only (config: false) in the

29863 source YANG file, then _set_version is considered as a private

29864 method. Backends looking to populate this variable should

29865 do so via calling thisObj._set_version() directly.

29866

29867 YANG Description: Identifies the version of the VNFD

29868 """

29869 if hasattr(v, "_utype"):

29870 v = v._utype(v)

29871 try:

29872 t = YANGDynClass(v,base=str, is_leaf=True, yang_name="version", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='urn:etsi:nfv:yang:etsi-nfv-vnfd', defining_module='etsi-nfv-vnfd', yang_type='string', is_config=True)

29873 except (TypeError, ValueError):

29874 raise ValueError({

29875 'error-string': """version must be of a type compatible with string""",

29876 'defined-type': "string",

29877 'generated-type': """YANGDynClass(base=str, is_leaf=True, yang_name="version", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='urn:etsi:nfv:yang:etsi-nfv-vnfd', defining_module='etsi-nfv-vnfd', yang_type='string', is_config=True)""",

29878 })

29879

29880 self.__version = t

29881 if hasattr(self, '_set'):

29882 self._set()

29883

29884 def _unset_version(self):

29885 self.__version = YANGDynClass(base=str, is_leaf=True, yang_name="version", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='urn:etsi:nfv:yang:etsi-nfv-vnfd', defining_module='etsi-nfv-vnfd', yang_type='string', is_config=True)

29886

29887

29888 def _get_product_info_name(self):

29889 """

29890 Getter method for product_info_name, mapped from YANG variable /vnfd/product_info_name (string)

29891

29892 YANG Description: Human readable name of the VNFD. Can change

29893 during the VNF Product lifetime.

29894 """

29895 return self.__product_info_name

29896

29897 def _set_product_info_name(self, v, load=False):

29898 """

29899 Setter method for product_info_name, mapped from YANG variable /vnfd/product_info_name (string)

29900 If this variable is read-only (config: false) in the

29901 source YANG file, then _set_product_info_name is considered as a private

29902 method. Backends looking to populate this variable should

29903 do so via calling thisObj._set_product_info_name() directly.

29904

29905 YANG Description: Human readable name of the VNFD. Can change

29906 during the VNF Product lifetime.

29907 """

29908 if hasattr(v, "_utype"):

29909 v = v._utype(v)

29910 try:

29911 t = YANGDynClass(v,base=str, is_leaf=True, yang_name="product-info-name", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='urn:etsi:nfv:yang:etsi-nfv-vnfd', defining_module='etsi-nfv-vnfd', yang_type='string', is_config=True)

29912 except (TypeError, ValueError):

29913 raise ValueError({

29914 'error-string': """product_info_name must be of a type compatible with string""",

29915 'defined-type': "string",

29916 'generated-type': """YANGDynClass(base=str, is_leaf=True, yang_name="product-info-name", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='urn:etsi:nfv:yang:etsi-nfv-vnfd', defining_module='etsi-nfv-vnfd', yang_type='string', is_config=True)""",

29917 })

29918

29919 self.__product_info_name = t

29920 if hasattr(self, '_set'):

29921 self._set()

29922

29923 def _unset_product_info_name(self):

29924 self.__product_info_name = YANGDynClass(base=str, is_leaf=True, yang_name="product-info-name", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='urn:etsi:nfv:yang:etsi-nfv-vnfd', defining_module='etsi-nfv-vnfd', yang_type='string', is_config=True)

29925

29926

29927 def _get_product_info_description(self):

29928 """

29929 Getter method for product_info_description, mapped from YANG variable /vnfd/product_info_description (string)

29930

29931 YANG Description: Human readable description of the VNFD. Can change during

29932 the VNF Product lifetime.

29933 """

29934 return self.__product_info_description

29935

29936 def _set_product_info_description(self, v, load=False):

29937 """

29938 Setter method for product_info_description, mapped from YANG variable /vnfd/product_info_description (string)

29939 If this variable is read-only (config: false) in the

29940 source YANG file, then _set_product_info_description is considered as a private

29941 method. Backends looking to populate this variable should

29942 do so via calling thisObj._set_product_info_description() directly.

29943

29944 YANG Description: Human readable description of the VNFD. Can change during

29945 the VNF Product lifetime.

29946 """

29947 if hasattr(v, "_utype"):

29948 v = v._utype(v)

29949 try:

29950 t = YANGDynClass(v,base=str, is_leaf=True, yang_name="product-info-description", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='urn:etsi:nfv:yang:etsi-nfv-vnfd', defining_module='etsi-nfv-vnfd', yang_type='string', is_config=True)

29951 except (TypeError, ValueError):

29952 raise ValueError({

29953 'error-string': """product_info_description must be of a type compatible with string""",

29954 'defined-type': "string",

29955 'generated-type': """YANGDynClass(base=str, is_leaf=True, yang_name="product-info-description", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='urn:etsi:nfv:yang:etsi-nfv-vnfd', defining_module='etsi-nfv-vnfd', yang_type='string', is_config=True)""",

29956 })

29957

29958 self.__product_info_description = t

29959 if hasattr(self, '_set'):

29960 self._set()

29961

29962 def _unset_product_info_description(self):

29963 self.__product_info_description = YANGDynClass(base=str, is_leaf=True, yang_name="product-info-description", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='urn:etsi:nfv:yang:etsi-nfv-vnfd', defining_module='etsi-nfv-vnfd', yang_type='string', is_config=True)

29964

29965

29966 def _get_vnfm_info(self):

29967 """

29968 Getter method for vnfm_info, mapped from YANG variable /vnfd/vnfm_info (string)

29969

29970 YANG Description: Identifies VNFM(s) compatible with the VNF described in

29971 this version of the VNFD.

29972 """

29973 return self.__vnfm_info

29974

29975 def _set_vnfm_info(self, v, load=False):

29976 """

29977 Setter method for vnfm_info, mapped from YANG variable /vnfd/vnfm_info (string)

29978 If this variable is read-only (config: false) in the

29979 source YANG file, then _set_vnfm_info is considered as a private

29980 method. Backends looking to populate this variable should

29981 do so via calling thisObj._set_vnfm_info() directly.

29982

29983 YANG Description: Identifies VNFM(s) compatible with the VNF described in

29984 this version of the VNFD.

29985 """

29986 if hasattr(v, "_utype"):

29987 v = v._utype(v)

29988 try:

29989 t = YANGDynClass(v,unique=True, base=TypedListType(allowed_type=str), is_leaf=False, yang_name="vnfm-info", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='urn:etsi:nfv:yang:etsi-nfv-vnfd', defining_module='etsi-nfv-vnfd', yang_type='string', is_config=True)

29990 except (TypeError, ValueError):

29991 raise ValueError({

29992 'error-string': """vnfm_info must be of a type compatible with string""",

29993 'defined-type': "string",

29994 'generated-type': """YANGDynClass(unique=True, base=TypedListType(allowed_type=str), is_leaf=False, yang_name="vnfm-info", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='urn:etsi:nfv:yang:etsi-nfv-vnfd', defining_module='etsi-nfv-vnfd', yang_type='string', is_config=True)""",

29995 })

29996

29997 self.__vnfm_info = t

29998 if hasattr(self, '_set'):

29999 self._set()

30000

30001 def _unset_vnfm_info(self):

30002 self.__vnfm_info = YANGDynClass(unique=True, base=TypedListType(allowed_type=str), is_leaf=False, yang_name="vnfm-info", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='urn:etsi:nfv:yang:etsi-nfv-vnfd', defining_module='etsi-nfv-vnfd', yang_type='string', is_config=True)

30003

30004

30005 def _get_localization_language(self):

30006 """

30007 Getter method for localization_language, mapped from YANG variable /vnfd/localization_language (string)

30008

30009 YANG Description: Information about the language of the VNF.

30010 """

30011 return self.__localization_language

30012

30013 def _set_localization_language(self, v, load=False):

30014 """

30015 Setter method for localization_language, mapped from YANG variable /vnfd/localization_language (string)

30016 If this variable is read-only (config: false) in the

30017 source YANG file, then _set_localization_language is considered as a private

30018 method. Backends looking to populate this variable should

30019 do so via calling thisObj._set_localization_language() directly.

30020

30021 YANG Description: Information about the language of the VNF.

30022 """

30023 if hasattr(v, "_utype"):

30024 v = v._utype(v)

30025 try:

30026 t = YANGDynClass(v,base=str, is_leaf=True, yang_name="localization-language", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='urn:etsi:nfv:yang:etsi-nfv-vnfd', defining_module='etsi-nfv-vnfd', yang_type='string', is_config=True)

30027 except (TypeError, ValueError):

30028 raise ValueError({

30029 'error-string': """localization_language must be of a type compatible with string""",

30030 'defined-type': "string",

30031 'generated-type': """YANGDynClass(base=str, is_leaf=True, yang_name="localization-language", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='urn:etsi:nfv:yang:etsi-nfv-vnfd', defining_module='etsi-nfv-vnfd', yang_type='string', is_config=True)""",

30032 })

30033

30034 self.__localization_language = t

30035 if hasattr(self, '_set'):

30036 self._set()

30037

30038 def _unset_localization_language(self):

30039 self.__localization_language = YANGDynClass(base=str, is_leaf=True, yang_name="localization-language", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='urn:etsi:nfv:yang:etsi-nfv-vnfd', defining_module='etsi-nfv-vnfd', yang_type='string', is_config=True)

30040

30041

30042 def _get_default_localization_language(self):

30043 """

30044 Getter method for default_localization_language, mapped from YANG variable /vnfd/default_localization_language (string)

30045

30046 YANG Description: Default localization language that is instantiated if no

30047 information about selected localization language is

30048 available. Shall be present if 'localization-language'

30049 is present and shall be absent otherwise.

30050 """

30051 return self.__default_localization_language

30052

30053 def _set_default_localization_language(self, v, load=False):

30054 """

30055 Setter method for default_localization_language, mapped from YANG variable /vnfd/default_localization_language (string)

30056 If this variable is read-only (config: false) in the

30057 source YANG file, then _set_default_localization_language is considered as a private

30058 method. Backends looking to populate this variable should

30059 do so via calling thisObj._set_default_localization_language() directly.

30060

30061 YANG Description: Default localization language that is instantiated if no

30062 information about selected localization language is

30063 available. Shall be present if 'localization-language'

30064 is present and shall be absent otherwise.

30065 """

30066 if hasattr(v, "_utype"):

30067 v = v._utype(v)

30068 try:

30069 t = YANGDynClass(v,base=str, is_leaf=True, yang_name="default-localization-language", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='urn:etsi:nfv:yang:etsi-nfv-vnfd', defining_module='etsi-nfv-vnfd', yang_type='string', is_config=True)

30070 except (TypeError, ValueError):

30071 raise ValueError({

30072 'error-string': """default_localization_language must be of a type compatible with string""",

30073 'defined-type': "string",

30074 'generated-type': """YANGDynClass(base=str, is_leaf=True, yang_name="default-localization-language", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='urn:etsi:nfv:yang:etsi-nfv-vnfd', defining_module='etsi-nfv-vnfd', yang_type='string', is_config=True)""",

30075 })

30076

30077 self.__default_localization_language = t

30078 if hasattr(self, '_set'):

30079 self._set()

30080

30081 def _unset_default_localization_language(self):

30082 self.__default_localization_language = YANGDynClass(base=str, is_leaf=True, yang_name="default-localization-language", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='urn:etsi:nfv:yang:etsi-nfv-vnfd', defining_module='etsi-nfv-vnfd', yang_type='string', is_config=True)

30083

30084

30085 def _get_vdu(self):

30086 """

30087 Getter method for vdu, mapped from YANG variable /vnfd/vdu (list)

30088

30089 YANG Description: The Virtualisation Deployment Unit (VDU) is a construct supporting

30090 the description of the deployment and operational behaviour of a

30091 VNF component, or the entire VNF if it was not componentized in

30092 components.

30093 """

30094 return self.__vdu

30095

30096 def _set_vdu(self, v, load=False):

30097 """

30098 Setter method for vdu, mapped from YANG variable /vnfd/vdu (list)

30099 If this variable is read-only (config: false) in the

30100 source YANG file, then _set_vdu is considered as a private

30101 method. Backends looking to populate this variable should

30102 do so via calling thisObj._set_vdu() directly.

30103

30104 YANG Description: The Virtualisation Deployment Unit (VDU) is a construct supporting

30105 the description of the deployment and operational behaviour of a

30106 VNF component, or the entire VNF if it was not componentized in

30107 components.

30108 """

30109 if hasattr(v, "_utype"):

30110 v = v._utype(v)

30111 try:

30112 t = YANGDynClass(v,base=YANGListType("id",yc_vdu_etsi_nfv_vnfd__vnfd_vdu, yang_name="vdu", parent=self, is_container='list', user_ordered=False, path_helper=self._path_helper, yang_keys='id', extensions=None), is_container='list', yang_name="vdu", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, extensions=None, namespace='urn:etsi:nfv:yang:etsi-nfv-vnfd', defining_module='etsi-nfv-vnfd', yang_type='list', is_config=True)

30113 except (TypeError, ValueError):

30114 raise ValueError({

30115 'error-string': """vdu must be of a type compatible with list""",

30116 'defined-type': "list",

30117 'generated-type': """YANGDynClass(base=YANGListType("id",yc_vdu_etsi_nfv_vnfd__vnfd_vdu, yang_name="vdu", parent=self, is_container='list', user_ordered=False, path_helper=self._path_helper, yang_keys='id', extensions=None), is_container='list', yang_name="vdu", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, extensions=None, namespace='urn:etsi:nfv:yang:etsi-nfv-vnfd', defining_module='etsi-nfv-vnfd', yang_type='list', is_config=True)""",

30118 })

30119

30120 self.__vdu = t

30121 if hasattr(self, '_set'):

30122 self._set()

30123

30124 def _unset_vdu(self):

30125 self.__vdu = YANGDynClass(base=YANGListType("id",yc_vdu_etsi_nfv_vnfd__vnfd_vdu, yang_name="vdu", parent=self, is_container='list', user_ordered=False, path_helper=self._path_helper, yang_keys='id', extensions=None), is_container='list', yang_name="vdu", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, extensions=None, namespace='urn:etsi:nfv:yang:etsi-nfv-vnfd', defining_module='etsi-nfv-vnfd', yang_type='list', is_config=True)

30126

30127

30128 def _get_virtual_compute_desc(self):

30129 """

30130 Getter method for virtual_compute_desc, mapped from YANG variable /vnfd/virtual_compute_desc (list)

30131

30132 YANG Description: Defines descriptors of virtual compute resources to be

30133 used by the VNF.

30134 """

30135 return self.__virtual_compute_desc

30136

30137 def _set_virtual_compute_desc(self, v, load=False):

30138 """

30139 Setter method for virtual_compute_desc, mapped from YANG variable /vnfd/virtual_compute_desc (list)

30140 If this variable is read-only (config: false) in the

30141 source YANG file, then _set_virtual_compute_desc is considered as a private

30142 method. Backends looking to populate this variable should

30143 do so via calling thisObj._set_virtual_compute_desc() directly.

30144

30145 YANG Description: Defines descriptors of virtual compute resources to be

30146 used by the VNF.

30147 """

30148 if hasattr(v, "_utype"):

30149 v = v._utype(v)

30150 try:

30151 t = YANGDynClass(v,base=YANGListType("id",yc_virtual_compute_desc_etsi_nfv_vnfd__vnfd_virtual_compute_desc, yang_name="virtual-compute-desc", parent=self, is_container='list', user_ordered=False, path_helper=self._path_helper, yang_keys='id', extensions=None), is_container='list', yang_name="virtual-compute-desc", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, extensions=None, namespace='urn:etsi:nfv:yang:etsi-nfv-vnfd', defining_module='etsi-nfv-vnfd', yang_type='list', is_config=True)

30152 except (TypeError, ValueError):

30153 raise ValueError({

30154 'error-string': """virtual_compute_desc must be of a type compatible with list""",

30155 'defined-type': "list",

30156 'generated-type': """YANGDynClass(base=YANGListType("id",yc_virtual_compute_desc_etsi_nfv_vnfd__vnfd_virtual_compute_desc, yang_name="virtual-compute-desc", parent=self, is_container='list', user_ordered=False, path_helper=self._path_helper, yang_keys='id', extensions=None), is_container='list', yang_name="virtual-compute-desc", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, extensions=None, namespace='urn:etsi:nfv:yang:etsi-nfv-vnfd', defining_module='etsi-nfv-vnfd', yang_type='list', is_config=True)""",

30157 })

30158

30159 self.__virtual_compute_desc = t

30160 if hasattr(self, '_set'):

30161 self._set()

30162

30163 def _unset_virtual_compute_desc(self):

30164 self.__virtual_compute_desc = YANGDynClass(base=YANGListType("id",yc_virtual_compute_desc_etsi_nfv_vnfd__vnfd_virtual_compute_desc, yang_name="virtual-compute-desc", parent=self, is_container='list', user_ordered=False, path_helper=self._path_helper, yang_keys='id', extensions=None), is_container='list', yang_name="virtual-compute-desc", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, extensions=None, namespace='urn:etsi:nfv:yang:etsi-nfv-vnfd', defining_module='etsi-nfv-vnfd', yang_type='list', is_config=True)

30165

30166

30167 def _get_virtual_storage_desc(self):

30168 """

30169 Getter method for virtual_storage_desc, mapped from YANG variable /vnfd/virtual_storage_desc (list)

30170

30171 YANG Description: Storage requirements for a Virtual Storage instance

30172 attached to the VNFC created from this VDU

30173 """

30174 return self.__virtual_storage_desc

30175

30176 def _set_virtual_storage_desc(self, v, load=False):

30177 """

30178 Setter method for virtual_storage_desc, mapped from YANG variable /vnfd/virtual_storage_desc (list)

30179 If this variable is read-only (config: false) in the

30180 source YANG file, then _set_virtual_storage_desc is considered as a private

30181 method. Backends looking to populate this variable should

30182 do so via calling thisObj._set_virtual_storage_desc() directly.

30183

30184 YANG Description: Storage requirements for a Virtual Storage instance

30185 attached to the VNFC created from this VDU

30186 """

30187 if hasattr(v, "_utype"):

30188 v = v._utype(v)

30189 try:

30190 t = YANGDynClass(v,base=YANGListType("id",yc_virtual_storage_desc_etsi_nfv_vnfd__vnfd_virtual_storage_desc, yang_name="virtual-storage-desc", parent=self, is_container='list', user_ordered=False, path_helper=self._path_helper, yang_keys='id', extensions=None), is_container='list', yang_name="virtual-storage-desc", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, extensions=None, namespace='urn:etsi:nfv:yang:etsi-nfv-vnfd', defining_module='etsi-nfv-vnfd', yang_type='list', is_config=True)

30191 except (TypeError, ValueError):

30192 raise ValueError({

30193 'error-string': """virtual_storage_desc must be of a type compatible with list""",

30194 'defined-type': "list",

30195 'generated-type': """YANGDynClass(base=YANGListType("id",yc_virtual_storage_desc_etsi_nfv_vnfd__vnfd_virtual_storage_desc, yang_name="virtual-storage-desc", parent=self, is_container='list', user_ordered=False, path_helper=self._path_helper, yang_keys='id', extensions=None), is_container='list', yang_name="virtual-storage-desc", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, extensions=None, namespace='urn:etsi:nfv:yang:etsi-nfv-vnfd', defining_module='etsi-nfv-vnfd', yang_type='list', is_config=True)""",

30196 })

30197

30198 self.__virtual_storage_desc = t

30199 if hasattr(self, '_set'):

30200 self._set()

30201

30202 def _unset_virtual_storage_desc(self):

30203 self.__virtual_storage_desc = YANGDynClass(base=YANGListType("id",yc_virtual_storage_desc_etsi_nfv_vnfd__vnfd_virtual_storage_desc, yang_name="virtual-storage-desc", parent=self, is_container='list', user_ordered=False, path_helper=self._path_helper, yang_keys='id', extensions=None), is_container='list', yang_name="virtual-storage-desc", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, extensions=None, namespace='urn:etsi:nfv:yang:etsi-nfv-vnfd', defining_module='etsi-nfv-vnfd', yang_type='list', is_config=True)

30204

30205

30206 def _get_sw_image_desc(self):

30207 """

30208 Getter method for sw_image_desc, mapped from YANG variable /vnfd/sw_image_desc (list)

30209

30210 YANG Description: Defines descriptors of software images to be used by the

30211 VNF.

30212 """

30213 return self.__sw_image_desc

30214

30215 def _set_sw_image_desc(self, v, load=False):

30216 """

30217 Setter method for sw_image_desc, mapped from YANG variable /vnfd/sw_image_desc (list)

30218 If this variable is read-only (config: false) in the

30219 source YANG file, then _set_sw_image_desc is considered as a private

30220 method. Backends looking to populate this variable should

30221 do so via calling thisObj._set_sw_image_desc() directly.

30222

30223 YANG Description: Defines descriptors of software images to be used by the

30224 VNF.

30225 """

30226 if hasattr(v, "_utype"):

30227 v = v._utype(v)

30228 try:

30229 t = YANGDynClass(v,base=YANGListType("id",yc_sw_image_desc_etsi_nfv_vnfd__vnfd_sw_image_desc, yang_name="sw-image-desc", parent=self, is_container='list', user_ordered=False, path_helper=self._path_helper, yang_keys='id', extensions=None), is_container='list', yang_name="sw-image-desc", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, extensions=None, namespace='urn:etsi:nfv:yang:etsi-nfv-vnfd', defining_module='etsi-nfv-vnfd', yang_type='list', is_config=True)

30230 except (TypeError, ValueError):

30231 raise ValueError({

30232 'error-string': """sw_image_desc must be of a type compatible with list""",

30233 'defined-type': "list",

30234 'generated-type': """YANGDynClass(base=YANGListType("id",yc_sw_image_desc_etsi_nfv_vnfd__vnfd_sw_image_desc, yang_name="sw-image-desc", parent=self, is_container='list', user_ordered=False, path_helper=self._path_helper, yang_keys='id', extensions=None), is_container='list', yang_name="sw-image-desc", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, extensions=None, namespace='urn:etsi:nfv:yang:etsi-nfv-vnfd', defining_module='etsi-nfv-vnfd', yang_type='list', is_config=True)""",

30235 })

30236

30237 self.__sw_image_desc = t

30238 if hasattr(self, '_set'):

30239 self._set()

30240

30241 def _unset_sw_image_desc(self):

30242 self.__sw_image_desc = YANGDynClass(base=YANGListType("id",yc_sw_image_desc_etsi_nfv_vnfd__vnfd_sw_image_desc, yang_name="sw-image-desc", parent=self, is_container='list', user_ordered=False, path_helper=self._path_helper, yang_keys='id', extensions=None), is_container='list', yang_name="sw-image-desc", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, extensions=None, namespace='urn:etsi:nfv:yang:etsi-nfv-vnfd', defining_module='etsi-nfv-vnfd', yang_type='list', is_config=True)

30243

30244

30245 def _get_int_virtual_link_desc(self):

30246 """

30247 Getter method for int_virtual_link_desc, mapped from YANG variable /vnfd/int_virtual_link_desc (list)

30248

30249 YANG Description: Represents the type of network connectivity mandated by the

30250 VNF provider between two or more CPs which includes at

30251 least one internal CP.

30252 """

30253 return self.__int_virtual_link_desc

30254

30255 def _set_int_virtual_link_desc(self, v, load=False):

30256 """

30257 Setter method for int_virtual_link_desc, mapped from YANG variable /vnfd/int_virtual_link_desc (list)

30258 If this variable is read-only (config: false) in the

30259 source YANG file, then _set_int_virtual_link_desc is considered as a private

30260 method. Backends looking to populate this variable should

30261 do so via calling thisObj._set_int_virtual_link_desc() directly.

30262

30263 YANG Description: Represents the type of network connectivity mandated by the

30264 VNF provider between two or more CPs which includes at

30265 least one internal CP.

30266 """

30267 if hasattr(v, "_utype"):

30268 v = v._utype(v)

30269 try:

30270 t = YANGDynClass(v,base=YANGListType("id",yc_int_virtual_link_desc_etsi_nfv_vnfd__vnfd_int_virtual_link_desc, yang_name="int-virtual-link-desc", parent=self, is_container='list', user_ordered=False, path_helper=self._path_helper, yang_keys='id', extensions=None), is_container='list', yang_name="int-virtual-link-desc", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, extensions=None, namespace='urn:etsi:nfv:yang:etsi-nfv-vnfd', defining_module='etsi-nfv-vnfd', yang_type='list', is_config=True)

30271 except (TypeError, ValueError):

30272 raise ValueError({

30273 'error-string': """int_virtual_link_desc must be of a type compatible with list""",

30274 'defined-type': "list",

30275 'generated-type': """YANGDynClass(base=YANGListType("id",yc_int_virtual_link_desc_etsi_nfv_vnfd__vnfd_int_virtual_link_desc, yang_name="int-virtual-link-desc", parent=self, is_container='list', user_ordered=False, path_helper=self._path_helper, yang_keys='id', extensions=None), is_container='list', yang_name="int-virtual-link-desc", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, extensions=None, namespace='urn:etsi:nfv:yang:etsi-nfv-vnfd', defining_module='etsi-nfv-vnfd', yang_type='list', is_config=True)""",

30276 })

30277

30278 self.__int_virtual_link_desc = t

30279 if hasattr(self, '_set'):

30280 self._set()

30281

30282 def _unset_int_virtual_link_desc(self):

30283 self.__int_virtual_link_desc = YANGDynClass(base=YANGListType("id",yc_int_virtual_link_desc_etsi_nfv_vnfd__vnfd_int_virtual_link_desc, yang_name="int-virtual-link-desc", parent=self, is_container='list', user_ordered=False, path_helper=self._path_helper, yang_keys='id', extensions=None), is_container='list', yang_name="int-virtual-link-desc", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, extensions=None, namespace='urn:etsi:nfv:yang:etsi-nfv-vnfd', defining_module='etsi-nfv-vnfd', yang_type='list', is_config=True)

30284

30285

30286 def _get_security_group_rule(self):

30287 """

30288 Getter method for security_group_rule, mapped from YANG variable /vnfd/security_group_rule (list)

30289

30290 YANG Description: Defines security group rules to be used by the VNF.

30291 """

30292 return self.__security_group_rule

30293

30294 def _set_security_group_rule(self, v, load=False):

30295 """

30296 Setter method for security_group_rule, mapped from YANG variable /vnfd/security_group_rule (list)

30297 If this variable is read-only (config: false) in the

30298 source YANG file, then _set_security_group_rule is considered as a private

30299 method. Backends looking to populate this variable should

30300 do so via calling thisObj._set_security_group_rule() directly.

30301

30302 YANG Description: Defines security group rules to be used by the VNF.

30303 """

30304 if hasattr(v, "_utype"):

30305 v = v._utype(v)

30306 try:

30307 t = YANGDynClass(v,base=YANGListType("id",yc_security_group_rule_etsi_nfv_vnfd__vnfd_security_group_rule, yang_name="security-group-rule", parent=self, is_container='list', user_ordered=False, path_helper=self._path_helper, yang_keys='id', extensions=None), is_container='list', yang_name="security-group-rule", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, extensions=None, namespace='urn:etsi:nfv:yang:etsi-nfv-vnfd', defining_module='etsi-nfv-vnfd', yang_type='list', is_config=True)

30308 except (TypeError, ValueError):

30309 raise ValueError({

30310 'error-string': """security_group_rule must be of a type compatible with list""",

30311 'defined-type': "list",

30312 'generated-type': """YANGDynClass(base=YANGListType("id",yc_security_group_rule_etsi_nfv_vnfd__vnfd_security_group_rule, yang_name="security-group-rule", parent=self, is_container='list', user_ordered=False, path_helper=self._path_helper, yang_keys='id', extensions=None), is_container='list', yang_name="security-group-rule", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, extensions=None, namespace='urn:etsi:nfv:yang:etsi-nfv-vnfd', defining_module='etsi-nfv-vnfd', yang_type='list', is_config=True)""",

30313 })

30314

30315 self.__security_group_rule = t

30316 if hasattr(self, '_set'):

30317 self._set()

30318

30319 def _unset_security_group_rule(self):

30320 self.__security_group_rule = YANGDynClass(base=YANGListType("id",yc_security_group_rule_etsi_nfv_vnfd__vnfd_security_group_rule, yang_name="security-group-rule", parent=self, is_container='list', user_ordered=False, path_helper=self._path_helper, yang_keys='id', extensions=None), is_container='list', yang_name="security-group-rule", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, extensions=None, namespace='urn:etsi:nfv:yang:etsi-nfv-vnfd', defining_module='etsi-nfv-vnfd', yang_type='list', is_config=True)

30321

30322

30323 def _get_ext_cpd(self):

30324 """

30325 Getter method for ext_cpd, mapped from YANG variable /vnfd/ext_cpd (list)

30326

30327 YANG Description: Describes an external interface exposed by this VNF enabling

30328 connection with a Virual Link

30329 """

30330 return self.__ext_cpd

30331

30332 def _set_ext_cpd(self, v, load=False):

30333 """

30334 Setter method for ext_cpd, mapped from YANG variable /vnfd/ext_cpd (list)

30335 If this variable is read-only (config: false) in the

30336 source YANG file, then _set_ext_cpd is considered as a private

30337 method. Backends looking to populate this variable should

30338 do so via calling thisObj._set_ext_cpd() directly.

30339

30340 YANG Description: Describes an external interface exposed by this VNF enabling

30341 connection with a Virual Link

30342 """

30343 if hasattr(v, "_utype"):

30344 v = v._utype(v)

30345 try:

30346 t = YANGDynClass(v,base=YANGListType("id",yc_ext_cpd_etsi_nfv_vnfd__vnfd_ext_cpd, yang_name="ext-cpd", parent=self, is_container='list', user_ordered=False, path_helper=self._path_helper, yang_keys='id', extensions=None), is_container='list', yang_name="ext-cpd", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, extensions=None, namespace='urn:etsi:nfv:yang:etsi-nfv-vnfd', defining_module='etsi-nfv-vnfd', yang_type='list', is_config=True)

30347 except (TypeError, ValueError):

30348 raise ValueError({

30349 'error-string': """ext_cpd must be of a type compatible with list""",

30350 'defined-type': "list",

30351 'generated-type': """YANGDynClass(base=YANGListType("id",yc_ext_cpd_etsi_nfv_vnfd__vnfd_ext_cpd, yang_name="ext-cpd", parent=self, is_container='list', user_ordered=False, path_helper=self._path_helper, yang_keys='id', extensions=None), is_container='list', yang_name="ext-cpd", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, extensions=None, namespace='urn:etsi:nfv:yang:etsi-nfv-vnfd', defining_module='etsi-nfv-vnfd', yang_type='list', is_config=True)""",

30352 })

30353

30354 self.__ext_cpd = t

30355 if hasattr(self, '_set'):

30356 self._set()

30357

30358 def _unset_ext_cpd(self):

30359 self.__ext_cpd = YANGDynClass(base=YANGListType("id",yc_ext_cpd_etsi_nfv_vnfd__vnfd_ext_cpd, yang_name="ext-cpd", parent=self, is_container='list', user_ordered=False, path_helper=self._path_helper, yang_keys='id', extensions=None), is_container='list', yang_name="ext-cpd", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, extensions=None, namespace='urn:etsi:nfv:yang:etsi-nfv-vnfd', defining_module='etsi-nfv-vnfd', yang_type='list', is_config=True)

30360

30361

30362 def _get_df(self):

30363 """

30364 Getter method for df, mapped from YANG variable /vnfd/df (list)

30365

30366 YANG Description: Describes a specific Deployment Flavour (DF) of a VNF with

30367 specific requirements for capacity and performance.

30368 """

30369 return self.__df

30370

30371 def _set_df(self, v, load=False):

30372 """

30373 Setter method for df, mapped from YANG variable /vnfd/df (list)

30374 If this variable is read-only (config: false) in the

30375 source YANG file, then _set_df is considered as a private

30376 method. Backends looking to populate this variable should

30377 do so via calling thisObj._set_df() directly.

30378

30379 YANG Description: Describes a specific Deployment Flavour (DF) of a VNF with

30380 specific requirements for capacity and performance.

30381 """

30382 if hasattr(v, "_utype"):

30383 v = v._utype(v)

30384 try:

30385 t = YANGDynClass(v,base=YANGListType("id",yc_df_etsi_nfv_vnfd__vnfd_df, yang_name="df", parent=self, is_container='list', user_ordered=False, path_helper=self._path_helper, yang_keys='id', extensions=None), is_container='list', yang_name="df", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, extensions=None, namespace='urn:etsi:nfv:yang:etsi-nfv-vnfd', defining_module='etsi-nfv-vnfd', yang_type='list', is_config=True)

30386 except (TypeError, ValueError):

30387 raise ValueError({

30388 'error-string': """df must be of a type compatible with list""",

30389 'defined-type': "list",

30390 'generated-type': """YANGDynClass(base=YANGListType("id",yc_df_etsi_nfv_vnfd__vnfd_df, yang_name="df", parent=self, is_container='list', user_ordered=False, path_helper=self._path_helper, yang_keys='id', extensions=None), is_container='list', yang_name="df", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, extensions=None, namespace='urn:etsi:nfv:yang:etsi-nfv-vnfd', defining_module='etsi-nfv-vnfd', yang_type='list', is_config=True)""",

30391 })

30392

30393 self.__df = t

30394 if hasattr(self, '_set'):

30395 self._set()

30396

30397 def _unset_df(self):

30398 self.__df = YANGDynClass(base=YANGListType("id",yc_df_etsi_nfv_vnfd__vnfd_df, yang_name="df", parent=self, is_container='list', user_ordered=False, path_helper=self._path_helper, yang_keys='id', extensions=None), is_container='list', yang_name="df", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, extensions=None, namespace='urn:etsi:nfv:yang:etsi-nfv-vnfd', defining_module='etsi-nfv-vnfd', yang_type='list', is_config=True)

30399

30400

30401 def _get_configurable_properties(self):

30402 """

30403 Getter method for configurable_properties, mapped from YANG variable /vnfd/configurable_properties (container)

30404

30405 YANG Description: Describes the configurable properties of the VNF

30406(e.g. related to auto scaling and auto healing).

30407 """

30408 return self.__configurable_properties

30409

30410 def _set_configurable_properties(self, v, load=False):

30411 """

30412 Setter method for configurable_properties, mapped from YANG variable /vnfd/configurable_properties (container)

30413 If this variable is read-only (config: false) in the

30414 source YANG file, then _set_configurable_properties is considered as a private

30415 method. Backends looking to populate this variable should

30416 do so via calling thisObj._set_configurable_properties() directly.

30417

30418 YANG Description: Describes the configurable properties of the VNF

30419(e.g. related to auto scaling and auto healing).

30420 """

30421 if hasattr(v, "_utype"):

30422 v = v._utype(v)

30423 try:

30424 t = YANGDynClass(v,base=yc_configurable_properties_etsi_nfv_vnfd__vnfd_configurable_properties, is_container='container', yang_name="configurable-properties", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, extensions=None, namespace='urn:etsi:nfv:yang:etsi-nfv-vnfd', defining_module='etsi-nfv-vnfd', yang_type='container', is_config=True)

30425 except (TypeError, ValueError):

30426 raise ValueError({

30427 'error-string': """configurable_properties must be of a type compatible with container""",

30428 'defined-type': "container",

30429 'generated-type': """YANGDynClass(base=yc_configurable_properties_etsi_nfv_vnfd__vnfd_configurable_properties, is_container='container', yang_name="configurable-properties", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, extensions=None, namespace='urn:etsi:nfv:yang:etsi-nfv-vnfd', defining_module='etsi-nfv-vnfd', yang_type='container', is_config=True)""",

30430 })

30431

30432 self.__configurable_properties = t

30433 if hasattr(self, '_set'):

30434 self._set()

30435

30436 def _unset_configurable_properties(self):

30437 self.__configurable_properties = YANGDynClass(base=yc_configurable_properties_etsi_nfv_vnfd__vnfd_configurable_properties, is_container='container', yang_name="configurable-properties", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, extensions=None, namespace='urn:etsi:nfv:yang:etsi-nfv-vnfd', defining_module='etsi-nfv-vnfd', yang_type='container', is_config=True)

30438

30439

30440 def _get_modifiable_attributes(self):

30441 """

30442 Getter method for modifiable_attributes, mapped from YANG variable /vnfd/modifiable_attributes (container)

30443

30444 YANG Description: Describes the modifiable attributes of the VNF.

30445 """

30446 return self.__modifiable_attributes

30447

30448 def _set_modifiable_attributes(self, v, load=False):

30449 """

30450 Setter method for modifiable_attributes, mapped from YANG variable /vnfd/modifiable_attributes (container)

30451 If this variable is read-only (config: false) in the

30452 source YANG file, then _set_modifiable_attributes is considered as a private

30453 method. Backends looking to populate this variable should

30454 do so via calling thisObj._set_modifiable_attributes() directly.

30455

30456 YANG Description: Describes the modifiable attributes of the VNF.

30457 """

30458 if hasattr(v, "_utype"):

30459 v = v._utype(v)

30460 try:

30461 t = YANGDynClass(v,base=yc_modifiable_attributes_etsi_nfv_vnfd__vnfd_modifiable_attributes, is_container='container', yang_name="modifiable-attributes", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, extensions=None, namespace='urn:etsi:nfv:yang:etsi-nfv-vnfd', defining_module='etsi-nfv-vnfd', yang_type='container', is_config=True)

30462 except (TypeError, ValueError):

30463 raise ValueError({

30464 'error-string': """modifiable_attributes must be of a type compatible with container""",

30465 'defined-type': "container",

30466 'generated-type': """YANGDynClass(base=yc_modifiable_attributes_etsi_nfv_vnfd__vnfd_modifiable_attributes, is_container='container', yang_name="modifiable-attributes", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, extensions=None, namespace='urn:etsi:nfv:yang:etsi-nfv-vnfd', defining_module='etsi-nfv-vnfd', yang_type='container', is_config=True)""",

30467 })

30468

30469 self.__modifiable_attributes = t

30470 if hasattr(self, '_set'):

30471 self._set()

30472

30473 def _unset_modifiable_attributes(self):

30474 self.__modifiable_attributes = YANGDynClass(base=yc_modifiable_attributes_etsi_nfv_vnfd__vnfd_modifiable_attributes, is_container='container', yang_name="modifiable-attributes", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, extensions=None, namespace='urn:etsi:nfv:yang:etsi-nfv-vnfd', defining_module='etsi-nfv-vnfd', yang_type='container', is_config=True)

30475

30476

30477 def _get_lifecycle_management_script(self):

30478 """

30479 Getter method for lifecycle_management_script, mapped from YANG variable /vnfd/lifecycle_management_script (list)

30480

30481 YANG Description: Includes a list of events and corresponding management

30482 scripts performed for the VNF.

30483 """

30484 return self.__lifecycle_management_script

30485

30486 def _set_lifecycle_management_script(self, v, load=False):

30487 """

30488 Setter method for lifecycle_management_script, mapped from YANG variable /vnfd/lifecycle_management_script (list)

30489 If this variable is read-only (config: false) in the

30490 source YANG file, then _set_lifecycle_management_script is considered as a private

30491 method. Backends looking to populate this variable should

30492 do so via calling thisObj._set_lifecycle_management_script() directly.

30493

30494 YANG Description: Includes a list of events and corresponding management

30495 scripts performed for the VNF.

30496 """

30497 if hasattr(v, "_utype"):

30498 v = v._utype(v)

30499 try:

30500 t = YANGDynClass(v,base=YANGListType("id",yc_lifecycle_management_script_etsi_nfv_vnfd__vnfd_lifecycle_management_script, yang_name="lifecycle-management-script", parent=self, is_container='list', user_ordered=False, path_helper=self._path_helper, yang_keys='id', extensions=None), is_container='list', yang_name="lifecycle-management-script", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, extensions=None, namespace='urn:etsi:nfv:yang:etsi-nfv-vnfd', defining_module='etsi-nfv-vnfd', yang_type='list', is_config=True)

30501 except (TypeError, ValueError):

30502 raise ValueError({

30503 'error-string': """lifecycle_management_script must be of a type compatible with list""",

30504 'defined-type': "list",

30505 'generated-type': """YANGDynClass(base=YANGListType("id",yc_lifecycle_management_script_etsi_nfv_vnfd__vnfd_lifecycle_management_script, yang_name="lifecycle-management-script", parent=self, is_container='list', user_ordered=False, path_helper=self._path_helper, yang_keys='id', extensions=None), is_container='list', yang_name="lifecycle-management-script", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, extensions=None, namespace='urn:etsi:nfv:yang:etsi-nfv-vnfd', defining_module='etsi-nfv-vnfd', yang_type='list', is_config=True)""",

30506 })

30507

30508 self.__lifecycle_management_script = t

30509 if hasattr(self, '_set'):

30510 self._set()

30511

30512 def _unset_lifecycle_management_script(self):

30513 self.__lifecycle_management_script = YANGDynClass(base=YANGListType("id",yc_lifecycle_management_script_etsi_nfv_vnfd__vnfd_lifecycle_management_script, yang_name="lifecycle-management-script", parent=self, is_container='list', user_ordered=False, path_helper=self._path_helper, yang_keys='id', extensions=None), is_container='list', yang_name="lifecycle-management-script", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, extensions=None, namespace='urn:etsi:nfv:yang:etsi-nfv-vnfd', defining_module='etsi-nfv-vnfd', yang_type='list', is_config=True)

30514

30515

30516 def _get_element_group(self):

30517 """

30518 Getter method for element_group, mapped from YANG variable /vnfd/element_group (list)

30519

30520 YANG Description: Describes the associated elements of a VNFD for a certain

30521 purpose during VNF lifecycle management.

30522 """

30523 return self.__element_group

30524

30525 def _set_element_group(self, v, load=False):

30526 """

30527 Setter method for element_group, mapped from YANG variable /vnfd/element_group (list)

30528 If this variable is read-only (config: false) in the

30529 source YANG file, then _set_element_group is considered as a private

30530 method. Backends looking to populate this variable should

30531 do so via calling thisObj._set_element_group() directly.

30532

30533 YANG Description: Describes the associated elements of a VNFD for a certain

30534 purpose during VNF lifecycle management.

30535 """

30536 if hasattr(v, "_utype"):

30537 v = v._utype(v)

30538 try:

30539 t = YANGDynClass(v,base=YANGListType("id",yc_element_group_etsi_nfv_vnfd__vnfd_element_group, yang_name="element-group", parent=self, is_container='list', user_ordered=False, path_helper=self._path_helper, yang_keys='id', extensions=None), is_container='list', yang_name="element-group", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, extensions=None, namespace='urn:etsi:nfv:yang:etsi-nfv-vnfd', defining_module='etsi-nfv-vnfd', yang_type='list', is_config=True)

30540 except (TypeError, ValueError):

30541 raise ValueError({

30542 'error-string': """element_group must be of a type compatible with list""",

30543 'defined-type': "list",

30544 'generated-type': """YANGDynClass(base=YANGListType("id",yc_element_group_etsi_nfv_vnfd__vnfd_element_group, yang_name="element-group", parent=self, is_container='list', user_ordered=False, path_helper=self._path_helper, yang_keys='id', extensions=None), is_container='list', yang_name="element-group", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, extensions=None, namespace='urn:etsi:nfv:yang:etsi-nfv-vnfd', defining_module='etsi-nfv-vnfd', yang_type='list', is_config=True)""",

30545 })

30546

30547 self.__element_group = t

30548 if hasattr(self, '_set'):

30549 self._set()

30550

30551 def _unset_element_group(self):

30552 self.__element_group = YANGDynClass(base=YANGListType("id",yc_element_group_etsi_nfv_vnfd__vnfd_element_group, yang_name="element-group", parent=self, is_container='list', user_ordered=False, path_helper=self._path_helper, yang_keys='id', extensions=None), is_container='list', yang_name="element-group", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, extensions=None, namespace='urn:etsi:nfv:yang:etsi-nfv-vnfd', defining_module='etsi-nfv-vnfd', yang_type='list', is_config=True)

30553

30554

30555 def _get_indicator(self):

30556 """

30557 Getter method for indicator, mapped from YANG variable /vnfd/indicator (list)

30558

30559 YANG Description: Declares the VNF indicators that are supported by this

30560 VNF.

30561 """

30562 return self.__indicator

30563

30564 def _set_indicator(self, v, load=False):

30565 """

30566 Setter method for indicator, mapped from YANG variable /vnfd/indicator (list)

30567 If this variable is read-only (config: false) in the

30568 source YANG file, then _set_indicator is considered as a private

30569 method. Backends looking to populate this variable should

30570 do so via calling thisObj._set_indicator() directly.

30571

30572 YANG Description: Declares the VNF indicators that are supported by this

30573 VNF.

30574 """

30575 if hasattr(v, "_utype"):

30576 v = v._utype(v)

30577 try:

30578 t = YANGDynClass(v,base=YANGListType("id",yc_indicator_etsi_nfv_vnfd__vnfd_indicator, yang_name="indicator", parent=self, is_container='list', user_ordered=False, path_helper=self._path_helper, yang_keys='id', extensions=None), is_container='list', yang_name="indicator", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, extensions=None, namespace='urn:etsi:nfv:yang:etsi-nfv-vnfd', defining_module='etsi-nfv-vnfd', yang_type='list', is_config=True)

30579 except (TypeError, ValueError):

30580 raise ValueError({

30581 'error-string': """indicator must be of a type compatible with list""",

30582 'defined-type': "list",

30583 'generated-type': """YANGDynClass(base=YANGListType("id",yc_indicator_etsi_nfv_vnfd__vnfd_indicator, yang_name="indicator", parent=self, is_container='list', user_ordered=False, path_helper=self._path_helper, yang_keys='id', extensions=None), is_container='list', yang_name="indicator", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, extensions=None, namespace='urn:etsi:nfv:yang:etsi-nfv-vnfd', defining_module='etsi-nfv-vnfd', yang_type='list', is_config=True)""",

30584 })

30585

30586 self.__indicator = t

30587 if hasattr(self, '_set'):

30588 self._set()

30589

30590 def _unset_indicator(self):

30591 self.__indicator = YANGDynClass(base=YANGListType("id",yc_indicator_etsi_nfv_vnfd__vnfd_indicator, yang_name="indicator", parent=self, is_container='list', user_ordered=False, path_helper=self._path_helper, yang_keys='id', extensions=None), is_container='list', yang_name="indicator", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, extensions=None, namespace='urn:etsi:nfv:yang:etsi-nfv-vnfd', defining_module='etsi-nfv-vnfd', yang_type='list', is_config=True)

30592

30593

30594 def _get_auto_scale(self):

30595 """

30596 Getter method for auto_scale, mapped from YANG variable /vnfd/auto_scale (string)

30597

30598 YANG Description: Rule that determines when a scaling action needs to be

30599 triggered on a VNF instance e.g. based on certain VNF

30600 indicator values or VNF indicator value changes or a

30601 combination of VNF indicator value(s) and monitoring

30602 parameter(s).

30603 """

30604 return self.__auto_scale

30605

30606 def _set_auto_scale(self, v, load=False):

30607 """

30608 Setter method for auto_scale, mapped from YANG variable /vnfd/auto_scale (string)

30609 If this variable is read-only (config: false) in the

30610 source YANG file, then _set_auto_scale is considered as a private

30611 method. Backends looking to populate this variable should

30612 do so via calling thisObj._set_auto_scale() directly.

30613

30614 YANG Description: Rule that determines when a scaling action needs to be

30615 triggered on a VNF instance e.g. based on certain VNF

30616 indicator values or VNF indicator value changes or a

30617 combination of VNF indicator value(s) and monitoring

30618 parameter(s).

30619 """

30620 if hasattr(v, "_utype"):

30621 v = v._utype(v)

30622 try:

30623 t = YANGDynClass(v,unique=True, base=TypedListType(allowed_type=str), is_leaf=False, yang_name="auto-scale", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='urn:etsi:nfv:yang:etsi-nfv-vnfd', defining_module='etsi-nfv-vnfd', yang_type='string', is_config=True)

30624 except (TypeError, ValueError):

30625 raise ValueError({

30626 'error-string': """auto_scale must be of a type compatible with string""",

30627 'defined-type': "string",

30628 'generated-type': """YANGDynClass(unique=True, base=TypedListType(allowed_type=str), is_leaf=False, yang_name="auto-scale", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='urn:etsi:nfv:yang:etsi-nfv-vnfd', defining_module='etsi-nfv-vnfd', yang_type='string', is_config=True)""",

30629 })

30630

30631 self.__auto_scale = t

30632 if hasattr(self, '_set'):

30633 self._set()

30634

30635 def _unset_auto_scale(self):

30636 self.__auto_scale = YANGDynClass(unique=True, base=TypedListType(allowed_type=str), is_leaf=False, yang_name="auto-scale", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='urn:etsi:nfv:yang:etsi-nfv-vnfd', defining_module='etsi-nfv-vnfd', yang_type='string', is_config=True)

30637

30638

30639 def _get_description(self):

30640 """

30641 Getter method for description, mapped from YANG variable /vnfd/description (string)

30642 """

30643 return self.__description

30644

30645 def _set_description(self, v, load=False):

30646 """

30647 Setter method for description, mapped from YANG variable /vnfd/description (string)

30648 If this variable is read-only (config: false) in the

30649 source YANG file, then _set_description is considered as a private

30650 method. Backends looking to populate this variable should

30651 do so via calling thisObj._set_description() directly.

30652 """

30653 if hasattr(v, "_utype"):

30654 v = v._utype(v)

30655 try:

30656 t = YANGDynClass(v,base=str, is_leaf=True, yang_name="description", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='urn:etsi:osm:yang:augments:additional-info', defining_module='additional-info', yang_type='string', is_config=True)

30657 except (TypeError, ValueError):

30658 raise ValueError({

30659 'error-string': """description must be of a type compatible with string""",

30660 'defined-type': "string",

30661 'generated-type': """YANGDynClass(base=str, is_leaf=True, yang_name="description", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='urn:etsi:osm:yang:augments:additional-info', defining_module='additional-info', yang_type='string', is_config=True)""",

30662 })

30663

30664 self.__description = t

30665 if hasattr(self, '_set'):

30666 self._set()

30667

30668 def _unset_description(self):

30669 self.__description = YANGDynClass(base=str, is_leaf=True, yang_name="description", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='urn:etsi:osm:yang:augments:additional-info', defining_module='additional-info', yang_type='string', is_config=True)

30670

30671

30672 def _get_kdu(self):

30673 """

30674 Getter method for kdu, mapped from YANG variable /vnfd/kdu (list)

30675

30676 YANG Description: List of K8s Deployment Units

30677 """

30678 return self.__kdu

30679

30680 def _set_kdu(self, v, load=False):

30681 """

30682 Setter method for kdu, mapped from YANG variable /vnfd/kdu (list)

30683 If this variable is read-only (config: false) in the

30684 source YANG file, then _set_kdu is considered as a private

30685 method. Backends looking to populate this variable should

30686 do so via calling thisObj._set_kdu() directly.

30687

30688 YANG Description: List of K8s Deployment Units

30689 """

30690 if hasattr(v, "_utype"):

30691 v = v._utype(v)

30692 try:

30693 t = YANGDynClass(v,base=YANGListType("name",yc_kdu_etsi_nfv_vnfd__vnfd_kdu, yang_name="kdu", parent=self, is_container='list', user_ordered=False, path_helper=self._path_helper, yang_keys='name', extensions=None), is_container='list', yang_name="kdu", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, extensions=None, namespace='urn:etsi:osm:yang:augments:kdu', defining_module='kdu', yang_type='list', is_config=True)

30694 except (TypeError, ValueError):

30695 raise ValueError({

30696 'error-string': """kdu must be of a type compatible with list""",

30697 'defined-type': "list",

30698 'generated-type': """YANGDynClass(base=YANGListType("name",yc_kdu_etsi_nfv_vnfd__vnfd_kdu, yang_name="kdu", parent=self, is_container='list', user_ordered=False, path_helper=self._path_helper, yang_keys='name', extensions=None), is_container='list', yang_name="kdu", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, extensions=None, namespace='urn:etsi:osm:yang:augments:kdu', defining_module='kdu', yang_type='list', is_config=True)""",

30699 })

30700

30701 self.__kdu = t

30702 if hasattr(self, '_set'):

30703 self._set()

30704

30705 def _unset_kdu(self):

30706 self.__kdu = YANGDynClass(base=YANGListType("name",yc_kdu_etsi_nfv_vnfd__vnfd_kdu, yang_name="kdu", parent=self, is_container='list', user_ordered=False, path_helper=self._path_helper, yang_keys='name', extensions=None), is_container='list', yang_name="kdu", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, extensions=None, namespace='urn:etsi:osm:yang:augments:kdu', defining_module='kdu', yang_type='list', is_config=True)

30707

30708

30709 def _get_k8s_cluster(self):

30710 """

30711 Getter method for k8s_cluster, mapped from YANG variable /vnfd/k8s_cluster (container)

30712 """

30713 return self.__k8s_cluster

30714

30715 def _set_k8s_cluster(self, v, load=False):

30716 """

30717 Setter method for k8s_cluster, mapped from YANG variable /vnfd/k8s_cluster (container)

30718 If this variable is read-only (config: false) in the

30719 source YANG file, then _set_k8s_cluster is considered as a private

30720 method. Backends looking to populate this variable should

30721 do so via calling thisObj._set_k8s_cluster() directly.

30722 """

30723 if hasattr(v, "_utype"):

30724 v = v._utype(v)

30725 try:

30726 t = YANGDynClass(v,base=yc_k8s_cluster_etsi_nfv_vnfd__vnfd_k8s_cluster, is_container='container', yang_name="k8s-cluster", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, extensions=None, namespace='urn:etsi:osm:yang:augments:kdu', defining_module='kdu', yang_type='container', is_config=True)

30727 except (TypeError, ValueError):

30728 raise ValueError({

30729 'error-string': """k8s_cluster must be of a type compatible with container""",

30730 'defined-type': "container",

30731 'generated-type': """YANGDynClass(base=yc_k8s_cluster_etsi_nfv_vnfd__vnfd_k8s_cluster, is_container='container', yang_name="k8s-cluster", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, extensions=None, namespace='urn:etsi:osm:yang:augments:kdu', defining_module='kdu', yang_type='container', is_config=True)""",

30732 })

30733

30734 self.__k8s_cluster = t

30735 if hasattr(self, '_set'):

30736 self._set()

30737

30738 def _unset_k8s_cluster(self):

30739 self.__k8s_cluster = YANGDynClass(base=yc_k8s_cluster_etsi_nfv_vnfd__vnfd_k8s_cluster, is_container='container', yang_name="k8s-cluster", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, extensions=None, namespace='urn:etsi:osm:yang:augments:kdu', defining_module='kdu', yang_type='container', is_config=True)

30740

30741

30742 def _get_mgmt_cp(self):

30743 """

30744 Getter method for mgmt_cp, mapped from YANG variable /vnfd/mgmt_cp (leafref)

30745

30746 YANG Description: Connection point over which the VNF is managed.

30747 """

30748 return self.__mgmt_cp

30749

30750 def _set_mgmt_cp(self, v, load=False):

30751 """

30752 Setter method for mgmt_cp, mapped from YANG variable /vnfd/mgmt_cp (leafref)

30753 If this variable is read-only (config: false) in the

30754 source YANG file, then _set_mgmt_cp is considered as a private

30755 method. Backends looking to populate this variable should

30756 do so via calling thisObj._set_mgmt_cp() directly.

30757

30758 YANG Description: Connection point over which the VNF is managed.

30759 """

30760 if hasattr(v, "_utype"):

30761 v = v._utype(v)

30762 try:

30763 t = YANGDynClass(v,base=str, is_leaf=True, yang_name="mgmt-cp", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='urn:etsi:osm:yang:augments:mgmt-interface', defining_module='mgmt-interface', yang_type='leafref', is_config=True)

30764 except (TypeError, ValueError):

30765 raise ValueError({

30766 'error-string': """mgmt_cp must be of a type compatible with leafref""",

30767 'defined-type': "leafref",

30768 'generated-type': """YANGDynClass(base=str, is_leaf=True, yang_name="mgmt-cp", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='urn:etsi:osm:yang:augments:mgmt-interface', defining_module='mgmt-interface', yang_type='leafref', is_config=True)""",

30769 })

30770

30771 self.__mgmt_cp = t

30772 if hasattr(self, '_set'):

30773 self._set()

30774

30775 def _unset_mgmt_cp(self):

30776 self.__mgmt_cp = YANGDynClass(base=str, is_leaf=True, yang_name="mgmt-cp", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='urn:etsi:osm:yang:augments:mgmt-interface', defining_module='mgmt-interface', yang_type='leafref', is_config=True)

30777

30778

30779 def _get_vip(self):

30780 """

30781 Getter method for vip, mapped from YANG variable /vnfd/vip (list)

30782

30783 YANG Description: Paired interfaces from different VDUs that share a Virtual IP

30784 """

30785 return self.__vip

30786

30787 def _set_vip(self, v, load=False):

30788 """

30789 Setter method for vip, mapped from YANG variable /vnfd/vip (list)

30790 If this variable is read-only (config: false) in the

30791 source YANG file, then _set_vip is considered as a private

30792 method. Backends looking to populate this variable should

30793 do so via calling thisObj._set_vip() directly.

30794

30795 YANG Description: Paired interfaces from different VDUs that share a Virtual IP

30796 """

30797 if hasattr(v, "_utype"):

30798 v = v._utype(v)

30799 try:

30800 t = YANGDynClass(v,base=YANGListType("name",yc_vip_etsi_nfv_vnfd__vnfd_vip, yang_name="vip", parent=self, is_container='list', user_ordered=False, path_helper=self._path_helper, yang_keys='name', extensions=None), is_container='list', yang_name="vip", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, extensions=None, namespace='urn:etsi:osm:yang:augments:vip', defining_module='vip', yang_type='list', is_config=True)

30801 except (TypeError, ValueError):

30802 raise ValueError({

30803 'error-string': """vip must be of a type compatible with list""",

30804 'defined-type': "list",

30805 'generated-type': """YANGDynClass(base=YANGListType("name",yc_vip_etsi_nfv_vnfd__vnfd_vip, yang_name="vip", parent=self, is_container='list', user_ordered=False, path_helper=self._path_helper, yang_keys='name', extensions=None), is_container='list', yang_name="vip", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, extensions=None, namespace='urn:etsi:osm:yang:augments:vip', defining_module='vip', yang_type='list', is_config=True)""",

30806 })

30807

30808 self.__vip = t

30809 if hasattr(self, '_set'):

30810 self._set()

30811

30812 def _unset_vip(self):

30813 self.__vip = YANGDynClass(base=YANGListType("name",yc_vip_etsi_nfv_vnfd__vnfd_vip, yang_name="vip", parent=self, is_container='list', user_ordered=False, path_helper=self._path_helper, yang_keys='name', extensions=None), is_container='list', yang_name="vip", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, extensions=None, namespace='urn:etsi:osm:yang:augments:vip', defining_module='vip', yang_type='list', is_config=True)

30814

30815 id = __builtin__.property(_get_id, _set_id)

30816 provider = __builtin__.property(_get_provider, _set_provider)

30817 product_name = __builtin__.property(_get_product_name, _set_product_name)

30818 software_version = __builtin__.property(_get_software_version, _set_software_version)

30819 version = __builtin__.property(_get_version, _set_version)

30820 product_info_name = __builtin__.property(_get_product_info_name, _set_product_info_name)

30821 product_info_description = __builtin__.property(_get_product_info_description, _set_product_info_description)

30822 vnfm_info = __builtin__.property(_get_vnfm_info, _set_vnfm_info)

30823 localization_language = __builtin__.property(_get_localization_language, _set_localization_language)

30824 default_localization_language = __builtin__.property(_get_default_localization_language, _set_default_localization_language)

30825 vdu = __builtin__.property(_get_vdu, _set_vdu)

30826 virtual_compute_desc = __builtin__.property(_get_virtual_compute_desc, _set_virtual_compute_desc)

30827 virtual_storage_desc = __builtin__.property(_get_virtual_storage_desc, _set_virtual_storage_desc)

30828 sw_image_desc = __builtin__.property(_get_sw_image_desc, _set_sw_image_desc)

30829 int_virtual_link_desc = __builtin__.property(_get_int_virtual_link_desc, _set_int_virtual_link_desc)

30830 security_group_rule = __builtin__.property(_get_security_group_rule, _set_security_group_rule)

30831 ext_cpd = __builtin__.property(_get_ext_cpd, _set_ext_cpd)

30832 df = __builtin__.property(_get_df, _set_df)

30833 configurable_properties = __builtin__.property(_get_configurable_properties, _set_configurable_properties)

30834 modifiable_attributes = __builtin__.property(_get_modifiable_attributes, _set_modifiable_attributes)

30835 lifecycle_management_script = __builtin__.property(_get_lifecycle_management_script, _set_lifecycle_management_script)

30836 element_group = __builtin__.property(_get_element_group, _set_element_group)

30837 indicator = __builtin__.property(_get_indicator, _set_indicator)

30838 auto_scale = __builtin__.property(_get_auto_scale, _set_auto_scale)

30839 description = __builtin__.property(_get_description, _set_description)

30840 kdu = __builtin__.property(_get_kdu, _set_kdu)

30841 k8s_cluster = __builtin__.property(_get_k8s_cluster, _set_k8s_cluster)

30842 mgmt_cp = __builtin__.property(_get_mgmt_cp, _set_mgmt_cp)

30843 vip = __builtin__.property(_get_vip, _set_vip)

30844

30845

30846 _pyangbind_elements = OrderedDict([('id', id), ('provider', provider), ('product_name', product_name), ('software_version', software_version), ('version', version), ('product_info_name', product_info_name), ('product_info_description', product_info_description), ('vnfm_info', vnfm_info), ('localization_language', localization_language), ('default_localization_language', default_localization_language), ('vdu', vdu), ('virtual_compute_desc', virtual_compute_desc), ('virtual_storage_desc', virtual_storage_desc), ('sw_image_desc', sw_image_desc), ('int_virtual_link_desc', int_virtual_link_desc), ('security_group_rule', security_group_rule), ('ext_cpd', ext_cpd), ('df', df), ('configurable_properties', configurable_properties), ('modifiable_attributes', modifiable_attributes), ('lifecycle_management_script', lifecycle_management_script), ('element_group', element_group), ('indicator', indicator), ('auto_scale', auto_scale), ('description', description), ('kdu', kdu), ('k8s_cluster', k8s_cluster), ('mgmt_cp', mgmt_cp), ('vip', vip), ])

30847

30848

30849 class etsi_nfv_vnfd(PybindBase):

30850 """

30851 This class was auto-generated by the PythonClass plugin for PYANG

30852 from YANG module etsi-nfv-vnfd - based on the path /etsi-nfv-vnfd. Each member element of

30853 the container is represented as a class variable - with a specific

30854 YANG type.

30855

30856 YANG Description: Virtual Network Function Descriptor.

30857 """

30858 __slots__ = ('_path_helper', '_extmethods', '__vnfd',)

30859

30860 _yang_name = 'etsi-nfv-vnfd'

30861 _yang_namespace = 'urn:etsi:nfv:yang:etsi-nfv-vnfd'

30862

30863 _pybind_generated_by = 'container'

30864

30865 def __init__(self, *args, **kwargs):

30866

30867 self._path_helper = False

30868

30869 self._extmethods = False

30870 self.__vnfd = YANGDynClass(base=yc_vnfd_etsi_nfv_vnfd__vnfd, is_container='container', yang_name="vnfd", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, extensions=None, namespace='urn:etsi:nfv:yang:etsi-nfv-vnfd', defining_module='etsi-nfv-vnfd', yang_type='container', is_config=True)

30871

30872 load = kwargs.pop("load", None)

30873 if args:

30874 if len(args) > 1:

30875 raise TypeError("cannot create a YANG container with >1 argument")

30876 all_attr = True

30877 for e in self._pyangbind_elements:

30878 if not hasattr(args[0], e):

30879 all_attr = False

30880 break

30881 if not all_attr:

30882 raise ValueError("Supplied object did not have the correct attributes")

30883 for e in self._pyangbind_elements:

30884 nobj = getattr(args[0], e)

30885 if nobj._changed() is False:

30886 continue

30887 setmethod = getattr(self, "_set_%s" % e)

30888 if load is None:

30889 setmethod(getattr(args[0], e))

30890 else:

30891 setmethod(getattr(args[0], e), load=load)

30892

30893 def _path(self):

30894 if hasattr(self, "_parent"):

30895 return self._parent._path()+[self._yang_name]

30896 else:

30897 return []

30898

30899 def _get_vnfd(self):

30900 """

30901 Getter method for vnfd, mapped from YANG variable /vnfd (container)

30902 """

30903 return self.__vnfd

30904

30905 def _set_vnfd(self, v, load=False):

30906 """

30907 Setter method for vnfd, mapped from YANG variable /vnfd (container)

30908 If this variable is read-only (config: false) in the

30909 source YANG file, then _set_vnfd is considered as a private

30910 method. Backends looking to populate this variable should

30911 do so via calling thisObj._set_vnfd() directly.

30912 """

30913 if hasattr(v, "_utype"):

30914 v = v._utype(v)

30915 try:

30916 t = YANGDynClass(v,base=yc_vnfd_etsi_nfv_vnfd__vnfd, is_container='container', yang_name="vnfd", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, extensions=None, namespace='urn:etsi:nfv:yang:etsi-nfv-vnfd', defining_module='etsi-nfv-vnfd', yang_type='container', is_config=True)

30917 except (TypeError, ValueError):

30918 raise ValueError({

30919 'error-string': """vnfd must be of a type compatible with container""",

30920 'defined-type': "container",

30921 'generated-type': """YANGDynClass(base=yc_vnfd_etsi_nfv_vnfd__vnfd, is_container='container', yang_name="vnfd", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, extensions=None, namespace='urn:etsi:nfv:yang:etsi-nfv-vnfd', defining_module='etsi-nfv-vnfd', yang_type='container', is_config=True)""",

30922 })

30923

30924 self.__vnfd = t

30925 if hasattr(self, '_set'):

30926 self._set()

30927

30928 def _unset_vnfd(self):

30929 self.__vnfd = YANGDynClass(base=yc_vnfd_etsi_nfv_vnfd__vnfd, is_container='container', yang_name="vnfd", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, extensions=None, namespace='urn:etsi:nfv:yang:etsi-nfv-vnfd', defining_module='etsi-nfv-vnfd', yang_type='container', is_config=True)

30930

30931 vnfd = __builtin__.property(_get_vnfd, _set_vnfd)

30932

30933

30934 _pyangbind_elements = OrderedDict([('vnfd', vnfd), ])

30935

30936